// Copyright (c) 2010-2014 SharpDX - Alexandre Mutel
// 
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// 
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
// 
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.

//------------------------------------------------------------------------------
// <auto-generated>
//     Types declaration for SharpDX.Direct3D10 namespace.
//     This code was generated by a tool.
//     Date : 17.06.2016 1:24:40
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Runtime.InteropServices;
using System.Security;
namespace SharpDX.Direct3D10 {

#pragma warning disable 282
#pragma warning disable 649
#pragma warning disable 419
#pragma warning disable 1587
#pragma warning disable 1574
    
    /// <summary>	
    /// <p>Describes the blend state.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>To see how blending is done, see Output-Merger Stage (Direct3D 10).</p><p>These are the default values for blend state.</p><table> <tr><th>State</th><th>Default Value</th></tr> <tr><td>AlphaToCoverageEnable</td><td><see cref="SharpDX.Result.False"/></td></tr> <tr><td>BlendEnable[8]</td><td><see cref="SharpDX.Result.False"/> (for all 8)</td></tr> <tr><td>SrcBlend</td><td><see cref="SharpDX.Direct3D10.BlendOption.One"/></td></tr> <tr><td>DestBlend</td><td><see cref="SharpDX.Direct3D10.BlendOption.Zero"/></td></tr> <tr><td>BlendOp</td><td><see cref="SharpDX.Direct3D10.BlendOperation.Add"/></td></tr> <tr><td>SrcBlendAlpha</td><td><see cref="SharpDX.Direct3D10.BlendOption.One"/></td></tr> <tr><td>DestBlendAlpha</td><td><see cref="SharpDX.Direct3D10.BlendOption.Zero"/></td></tr> <tr><td>BlendOpAlpha</td><td><see cref="SharpDX.Direct3D10.BlendOperation.Add"/></td></tr> <tr><td>RenderTargetWriteMask[8]</td><td><see cref="SharpDX.Direct3D10.ColorWriteMaskFlags.All"/> (for all 8)</td></tr> </table><p>?</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BLEND_DESC']/*"/>	
    /// <msdn-id>bb204893</msdn-id>	
    /// <unmanaged>D3D10_BLEND_DESC</unmanaged>	
    /// <unmanaged-short>D3D10_BLEND_DESC</unmanaged-short>	
    public  partial struct BlendStateDescription {	
        
        /// <summary>	
        /// <dd> <p>Determines whether or not to use alpha-to-coverage as a multisampling technique when setting a pixel to a rendertarget.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BLEND_DESC::AlphaToCoverageEnable']/*"/>	
        /// <msdn-id>bb204893</msdn-id>	
        /// <unmanaged>BOOL AlphaToCoverageEnable</unmanaged>	
        /// <unmanaged-short>BOOL AlphaToCoverageEnable</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawBool IsAlphaToCoverageEnabled;
        
        /// <summary>	
        /// <dd> <p>Enable (or disable) blending. There are eight elements in this array; these correspond to the eight rendertargets that can be set to output-merger stage at one time.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BLEND_DESC::BlendEnable']/*"/>	
        /// <msdn-id>bb204893</msdn-id>	
        /// <unmanaged>BOOL BlendEnable[8]</unmanaged>	
        /// <unmanaged-short>BOOL BlendEnable</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawBool[] IsBlendEnabled { 
            get { return _IsBlendEnabled ?? (_IsBlendEnabled = new SharpDX.Mathematics.Interop.RawBool[8]);}
        }
        internal SharpDX.Mathematics.Interop.RawBool[] _IsBlendEnabled;
        
        /// <summary>	
        /// <dd> <p>This <strong>blend option</strong> specifies the first RGB data source and includes an optional pre-blend operation.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BLEND_DESC::SrcBlend']/*"/>	
        /// <msdn-id>bb204893</msdn-id>	
        /// <unmanaged>D3D10_BLEND SrcBlend</unmanaged>	
        /// <unmanaged-short>D3D10_BLEND SrcBlend</unmanaged-short>	
        public SharpDX.Direct3D10.BlendOption SourceBlend;
        
        /// <summary>	
        /// <dd> <p>This <strong>blend option</strong> specifies the second RGB data source and includes an optional pre-blend operation.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BLEND_DESC::DestBlend']/*"/>	
        /// <msdn-id>bb204893</msdn-id>	
        /// <unmanaged>D3D10_BLEND DestBlend</unmanaged>	
        /// <unmanaged-short>D3D10_BLEND DestBlend</unmanaged-short>	
        public SharpDX.Direct3D10.BlendOption DestinationBlend;
        
        /// <summary>	
        /// <dd> <p>This <strong>blend operation</strong> defines how to combine the RGB data sources.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BLEND_DESC::BlendOp']/*"/>	
        /// <msdn-id>bb204893</msdn-id>	
        /// <unmanaged>D3D10_BLEND_OP BlendOp</unmanaged>	
        /// <unmanaged-short>D3D10_BLEND_OP BlendOp</unmanaged-short>	
        public SharpDX.Direct3D10.BlendOperation BlendOperation;
        
        /// <summary>	
        /// <dd> <p>This <strong>blend option</strong> specifies the first alpha data source and includes an optional pre-blend operation. Blend options that end in _COLOR are not allowed.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BLEND_DESC::SrcBlendAlpha']/*"/>	
        /// <msdn-id>bb204893</msdn-id>	
        /// <unmanaged>D3D10_BLEND SrcBlendAlpha</unmanaged>	
        /// <unmanaged-short>D3D10_BLEND SrcBlendAlpha</unmanaged-short>	
        public SharpDX.Direct3D10.BlendOption SourceAlphaBlend;
        
        /// <summary>	
        /// <dd> <p>This <strong>blend option</strong> specifies the second alpha data source and includes an optional pre-blend operation. Blend options that end in _COLOR are not allowed.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BLEND_DESC::DestBlendAlpha']/*"/>	
        /// <msdn-id>bb204893</msdn-id>	
        /// <unmanaged>D3D10_BLEND DestBlendAlpha</unmanaged>	
        /// <unmanaged-short>D3D10_BLEND DestBlendAlpha</unmanaged-short>	
        public SharpDX.Direct3D10.BlendOption DestinationAlphaBlend;
        
        /// <summary>	
        /// <dd> <p>This <strong>blend operation</strong> defines how to combine the alpha data sources.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BLEND_DESC::BlendOpAlpha']/*"/>	
        /// <msdn-id>bb204893</msdn-id>	
        /// <unmanaged>D3D10_BLEND_OP BlendOpAlpha</unmanaged>	
        /// <unmanaged-short>D3D10_BLEND_OP BlendOpAlpha</unmanaged-short>	
        public SharpDX.Direct3D10.BlendOperation AlphaBlendOperation;
        
        /// <summary>	
        /// <dd> <p>A per-pixel write mask that allows control over which components can be written (see <strong><see cref="SharpDX.Direct3D10.ColorWriteMaskFlags"/></strong>).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BLEND_DESC::RenderTargetWriteMask']/*"/>	
        /// <msdn-id>bb204893</msdn-id>	
        /// <unmanaged>D3D10_COLOR_WRITE_ENABLE RenderTargetWriteMask[8]</unmanaged>	
        /// <unmanaged-short>D3D10_COLOR_WRITE_ENABLE RenderTargetWriteMask</unmanaged-short>	
        public SharpDX.Direct3D10.ColorWriteMaskFlags[] RenderTargetWriteMask { 
            get { return _RenderTargetWriteMask ?? (_RenderTargetWriteMask = new SharpDX.Direct3D10.ColorWriteMaskFlags[8]);}
        }
        internal SharpDX.Direct3D10.ColorWriteMaskFlags[] _RenderTargetWriteMask;

        // Internal native struct used for marshalling
        [StructLayout(LayoutKind.Sequential)]
        internal partial struct __Native {	
            public SharpDX.Mathematics.Interop.RawBool IsAlphaToCoverageEnabled;
            public SharpDX.Mathematics.Interop.RawBool IsBlendEnabled;
            SharpDX.Mathematics.Interop.RawBool __IsBlendEnabled1;
            SharpDX.Mathematics.Interop.RawBool __IsBlendEnabled2;
            SharpDX.Mathematics.Interop.RawBool __IsBlendEnabled3;
            SharpDX.Mathematics.Interop.RawBool __IsBlendEnabled4;
            SharpDX.Mathematics.Interop.RawBool __IsBlendEnabled5;
            SharpDX.Mathematics.Interop.RawBool __IsBlendEnabled6;
            SharpDX.Mathematics.Interop.RawBool __IsBlendEnabled7;
            public SharpDX.Direct3D10.BlendOption SourceBlend;
            public SharpDX.Direct3D10.BlendOption DestinationBlend;
            public SharpDX.Direct3D10.BlendOperation BlendOperation;
            public SharpDX.Direct3D10.BlendOption SourceAlphaBlend;
            public SharpDX.Direct3D10.BlendOption DestinationAlphaBlend;
            public SharpDX.Direct3D10.BlendOperation AlphaBlendOperation;
            public byte RenderTargetWriteMask;
            byte __RenderTargetWriteMask1;
            byte __RenderTargetWriteMask2;
            byte __RenderTargetWriteMask3;
            byte __RenderTargetWriteMask4;
            byte __RenderTargetWriteMask5;
            byte __RenderTargetWriteMask6;
            byte __RenderTargetWriteMask7;
		    // Method to free unmanaged allocation
            internal unsafe void __MarshalFree()
            {   
            }
        }
		
		// Method to free unmanaged allocation
        internal unsafe void __MarshalFree(ref __Native @ref)
        {   
            @ref.__MarshalFree();
        }
		
		// Method to marshal from native to managed struct
        internal unsafe void __MarshalFrom(ref __Native @ref)
        {            
            this.IsAlphaToCoverageEnabled = @ref.IsAlphaToCoverageEnabled;
            fixed (void* __to = &this.IsBlendEnabled[0]) fixed (void* __from = &@ref.IsBlendEnabled) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 8*sizeof ( SharpDX.Mathematics.Interop.RawBool));
            this.SourceBlend = @ref.SourceBlend;
            this.DestinationBlend = @ref.DestinationBlend;
            this.BlendOperation = @ref.BlendOperation;
            this.SourceAlphaBlend = @ref.SourceAlphaBlend;
            this.DestinationAlphaBlend = @ref.DestinationAlphaBlend;
            this.AlphaBlendOperation = @ref.AlphaBlendOperation;
            fixed (void* __to = &this.RenderTargetWriteMask[0]) fixed (void* __from = &@ref.RenderTargetWriteMask) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 8*sizeof ( byte));
        }
        // Method to marshal from managed struct tot native
        internal unsafe void __MarshalTo(ref __Native @ref)
        {
            @ref.IsAlphaToCoverageEnabled = this.IsAlphaToCoverageEnabled;
            fixed (void* __to = &@ref.IsBlendEnabled) fixed (void* __from = &this.IsBlendEnabled[0]) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 8*sizeof ( SharpDX.Mathematics.Interop.RawBool));
            @ref.SourceBlend = this.SourceBlend;
            @ref.DestinationBlend = this.DestinationBlend;
            @ref.BlendOperation = this.BlendOperation;
            @ref.SourceAlphaBlend = this.SourceAlphaBlend;
            @ref.DestinationAlphaBlend = this.DestinationAlphaBlend;
            @ref.AlphaBlendOperation = this.AlphaBlendOperation;
            fixed (void* __to = &@ref.RenderTargetWriteMask) fixed (void* __from = &this.RenderTargetWriteMask[0]) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 8*sizeof ( byte));
		
		}
    }
    
    /// <summary>	
    /// <p>Describes the blend state for a Direct3D 10.1 device.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>To see how blending is done, see Output-Merger Stage (Direct3D 10).</p><p>These are the default values for the blend description.</p><table> <tr><th>State</th><th>Default Value</th></tr> <tr><td>AlphaToCoverageEnable</td><td><strong><see cref="SharpDX.Result.False"/></strong></td></tr> <tr><td>IndependentBlendEnable</td><td><strong><see cref="SharpDX.Result.False"/></strong></td></tr> <tr><td>RenderTarget[0].BlendEnable</td><td><strong><see cref="SharpDX.Result.False"/></strong></td></tr> <tr><td>RenderTarget[0].SrcBlend</td><td><see cref="SharpDX.Direct3D10.BlendOption.One"/></td></tr> <tr><td>RenderTarget[0].DestBlend</td><td><see cref="SharpDX.Direct3D10.BlendOption.Zero"/></td></tr> <tr><td>RenderTarget[0].BlendOp</td><td><see cref="SharpDX.Direct3D10.BlendOperation.Add"/></td></tr> <tr><td>RenderTarget[0].SrcBlendAlpha</td><td><see cref="SharpDX.Direct3D10.BlendOption.One"/></td></tr> <tr><td>RenderTarget[0].DestBlendAlpha</td><td><see cref="SharpDX.Direct3D10.BlendOption.Zero"/></td></tr> <tr><td>RenderTarget[0].BlendOpAlpha</td><td><see cref="SharpDX.Direct3D10.BlendOperation.Add"/></td></tr> <tr><td>RenderTarget[0].RenderTargetWriteMask</td><td><see cref="SharpDX.Direct3D10.ColorWriteMaskFlags.All"/></td></tr> </table><p>?</p><p>This structure requires Windows Vista Service Pack 1.</p><p>If the driver type is set to <strong><see cref="SharpDX.Direct3D.DriverType.Hardware"/></strong>, the feature level is set to less than or equal to <strong><see cref="SharpDX.Direct3D.FeatureLevel.Level_9_3"/></strong>, and the pixel format of the render target is set to <strong><see cref="SharpDX.DXGI.Format.R8G8B8A8_UNorm_SRgb"/></strong>, <strong><see cref="SharpDX.DXGI.Format.B8G8R8A8_UNorm_SRgb"/></strong>, or <strong><see cref="SharpDX.DXGI.Format.B8G8R8X8_UNorm_SRgb"/></strong>, the device performs the blend in standard RGB (sRGB) space and not in linear space. However, if the feature level is set to greater than <strong><see cref="SharpDX.Direct3D.FeatureLevel.Level_9_3"/></strong>, the device performs the blend in linear space.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BLEND_DESC1']/*"/>	
    /// <msdn-id>bb694528</msdn-id>	
    /// <unmanaged>D3D10_BLEND_DESC1</unmanaged>	
    /// <unmanaged-short>D3D10_BLEND_DESC1</unmanaged-short>	
    public  partial struct BlendStateDescription1 {	
        
        /// <summary>	
        /// <dd> <p>Determines whether or not to use the alpha-to-coverage multisampling technique when setting a render-target pixel.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BLEND_DESC1::AlphaToCoverageEnable']/*"/>	
        /// <msdn-id>bb694528</msdn-id>	
        /// <unmanaged>BOOL AlphaToCoverageEnable</unmanaged>	
        /// <unmanaged-short>BOOL AlphaToCoverageEnable</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawBool IsAlphaToCoverageEnabled;
        
        /// <summary>	
        /// <dd> <p>Set to <strong>TRUE</strong> to enable independent blending in simultaneous render targets. If set to <strong><see cref="SharpDX.Result.False"/></strong>, only the RenderTarget[0] members are used. RenderTarget[1..7] are ignored.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BLEND_DESC1::IndependentBlendEnable']/*"/>	
        /// <msdn-id>bb694528</msdn-id>	
        /// <unmanaged>BOOL IndependentBlendEnable</unmanaged>	
        /// <unmanaged-short>BOOL IndependentBlendEnable</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawBool IndependentBlendEnable;
        
        /// <summary>	
        /// <dd> <p>An array of render-target-blend descriptions (see <strong><see cref="SharpDX.Direct3D10.RenderTargetBlendDescription1"/></strong>); these correspond to the eight rendertargets  that can be set to the output-merger stage at one time.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BLEND_DESC1::RenderTarget']/*"/>	
        /// <msdn-id>bb694528</msdn-id>	
        /// <unmanaged>D3D10_RENDER_TARGET_BLEND_DESC1 RenderTarget[8]</unmanaged>	
        /// <unmanaged-short>D3D10_RENDER_TARGET_BLEND_DESC1 RenderTarget</unmanaged-short>	
        public SharpDX.Direct3D10.RenderTargetBlendDescription1[] RenderTarget { 
            get { return _RenderTarget ?? (_RenderTarget = new SharpDX.Direct3D10.RenderTargetBlendDescription1[8]);}
        }
        internal SharpDX.Direct3D10.RenderTargetBlendDescription1[] _RenderTarget;

        // Internal native struct used for marshalling
        [StructLayout(LayoutKind.Sequential)]
        internal partial struct __Native {	
            public SharpDX.Mathematics.Interop.RawBool IsAlphaToCoverageEnabled;
            public SharpDX.Mathematics.Interop.RawBool IndependentBlendEnable;
            public SharpDX.Direct3D10.RenderTargetBlendDescription1 RenderTarget;
            SharpDX.Direct3D10.RenderTargetBlendDescription1 __RenderTarget1;
            SharpDX.Direct3D10.RenderTargetBlendDescription1 __RenderTarget2;
            SharpDX.Direct3D10.RenderTargetBlendDescription1 __RenderTarget3;
            SharpDX.Direct3D10.RenderTargetBlendDescription1 __RenderTarget4;
            SharpDX.Direct3D10.RenderTargetBlendDescription1 __RenderTarget5;
            SharpDX.Direct3D10.RenderTargetBlendDescription1 __RenderTarget6;
            SharpDX.Direct3D10.RenderTargetBlendDescription1 __RenderTarget7;
		    // Method to free unmanaged allocation
            internal unsafe void __MarshalFree()
            {   
            }
        }
		
		// Method to free unmanaged allocation
        internal unsafe void __MarshalFree(ref __Native @ref)
        {   
            @ref.__MarshalFree();
        }
		
		// Method to marshal from native to managed struct
        internal unsafe void __MarshalFrom(ref __Native @ref)
        {            
            this.IsAlphaToCoverageEnabled = @ref.IsAlphaToCoverageEnabled;
            this.IndependentBlendEnable = @ref.IndependentBlendEnable;
            fixed (void* __to = &this.RenderTarget[0]) fixed (void* __from = &@ref.RenderTarget) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 8*sizeof ( SharpDX.Direct3D10.RenderTargetBlendDescription1));
        }
        // Method to marshal from managed struct tot native
        internal unsafe void __MarshalTo(ref __Native @ref)
        {
            @ref.IsAlphaToCoverageEnabled = this.IsAlphaToCoverageEnabled;
            @ref.IndependentBlendEnable = this.IndependentBlendEnable;
            fixed (void* __to = &@ref.RenderTarget) fixed (void* __from = &this.RenderTarget[0]) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 8*sizeof ( SharpDX.Direct3D10.RenderTargetBlendDescription1));
		
		}
    }
    
    /// <summary>	
    /// <p>Describes a buffer resource.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>This structure is used by <strong><see cref="SharpDX.Direct3D10.Device.CreateBuffer"/></strong> to create buffer resources.</p><p>In addition to this structure, there is also a derived structure in D3D10.h (CD3D10_BUFFER_DESC) which behaves like an inherited class to help create a buffer description.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BUFFER_DESC']/*"/>	
    /// <msdn-id>bb204896</msdn-id>	
    /// <unmanaged>D3D10_BUFFER_DESC</unmanaged>	
    /// <unmanaged-short>D3D10_BUFFER_DESC</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct BufferDescription {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BUFFER_DESC::ByteWidth']/*"/>	
        /// <msdn-id>bb204896</msdn-id>	
        /// <unmanaged>unsigned int ByteWidth</unmanaged>	
        /// <unmanaged-short>unsigned int ByteWidth</unmanaged-short>	
        public int SizeInBytes;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BUFFER_DESC::Usage']/*"/>	
        /// <msdn-id>bb204896</msdn-id>	
        /// <unmanaged>D3D10_USAGE Usage</unmanaged>	
        /// <unmanaged-short>D3D10_USAGE Usage</unmanaged-short>	
        public SharpDX.Direct3D10.ResourceUsage Usage;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BUFFER_DESC::BindFlags']/*"/>	
        /// <msdn-id>bb204896</msdn-id>	
        /// <unmanaged>D3D10_BIND_FLAG BindFlags</unmanaged>	
        /// <unmanaged-short>D3D10_BIND_FLAG BindFlags</unmanaged-short>	
        public SharpDX.Direct3D10.BindFlags BindFlags;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BUFFER_DESC::CPUAccessFlags']/*"/>	
        /// <msdn-id>bb204896</msdn-id>	
        /// <unmanaged>D3D10_CPU_ACCESS_FLAG CPUAccessFlags</unmanaged>	
        /// <unmanaged-short>D3D10_CPU_ACCESS_FLAG CPUAccessFlags</unmanaged-short>	
        public SharpDX.Direct3D10.CpuAccessFlags CpuAccessFlags;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BUFFER_DESC::MiscFlags']/*"/>	
        /// <msdn-id>bb204896</msdn-id>	
        /// <unmanaged>D3D10_RESOURCE_MISC_FLAG MiscFlags</unmanaged>	
        /// <unmanaged-short>D3D10_RESOURCE_MISC_FLAG MiscFlags</unmanaged-short>	
        public SharpDX.Direct3D10.ResourceOptionFlags OptionFlags;
    }
    
    /// <summary>	
    /// <p>Information about the video card's performance counter capabilities.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>This structure is returned by <strong><see cref="SharpDX.Direct3D10.Device.GetCounterCapabilities"/></strong>.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_COUNTER_INFO']/*"/>	
    /// <msdn-id>bb204906</msdn-id>	
    /// <unmanaged>D3D10_COUNTER_INFO</unmanaged>	
    /// <unmanaged-short>D3D10_COUNTER_INFO</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct CounterCapabilities {	
        
        /// <summary>	
        /// <dd> <p>Largest device-dependent counter ID that the device supports. If none are supported, this value will be 0. Otherwise it will be greater than or equal to <see cref="SharpDX.Direct3D10.CounterKind.DeviceDependent0"/>. See <strong><see cref="SharpDX.Direct3D10.CounterKind"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_COUNTER_INFO::LastDeviceDependentCounter']/*"/>	
        /// <msdn-id>bb204906</msdn-id>	
        /// <unmanaged>D3D10_COUNTER LastDeviceDependentCounter</unmanaged>	
        /// <unmanaged-short>D3D10_COUNTER LastDeviceDependentCounter</unmanaged-short>	
        public SharpDX.Direct3D10.CounterKind LastDeviceDependentCounter;
        
        /// <summary>	
        /// <dd> <p>Number of counters that can be simultaneously supported.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_COUNTER_INFO::NumSimultaneousCounters']/*"/>	
        /// <msdn-id>bb204906</msdn-id>	
        /// <unmanaged>unsigned int NumSimultaneousCounters</unmanaged>	
        /// <unmanaged-short>unsigned int NumSimultaneousCounters</unmanaged-short>	
        public int SimultaneousCounterCount;
        
        /// <summary>	
        /// <dd> <p>Number of detectable parallel units that the counter is able to discern. Values are 1 ~ 4. Use NumDetectableParallelUnits to interpret the values of the VERTEX_PROCESSING, GEOMETRY_PROCESSING, PIXEL_PROCESSING, and OTHER_GPU_PROCESSING counters. See <strong><see cref="SharpDX.Direct3D10.Asynchronous.GetData"/></strong> for an equation.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_COUNTER_INFO::NumDetectableParallelUnits']/*"/>	
        /// <msdn-id>bb204906</msdn-id>	
        /// <unmanaged>unsigned char NumDetectableParallelUnits</unmanaged>	
        /// <unmanaged-short>unsigned char NumDetectableParallelUnits</unmanaged-short>	
        public byte DetectableParallelUnitCount;
    }
    
    /// <summary>	
    /// <p>Describes a counter.</p>	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_COUNTER_DESC']/*"/>	
    /// <msdn-id>bb204905</msdn-id>	
    /// <unmanaged>D3D10_COUNTER_DESC</unmanaged>	
    /// <unmanaged-short>D3D10_COUNTER_DESC</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct CounterDescription {	
        
        /// <summary>	
        /// <dd> <p>Type of counter (see <strong><see cref="SharpDX.Direct3D10.CounterKind"/></strong>).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_COUNTER_DESC::Counter']/*"/>	
        /// <msdn-id>bb204905</msdn-id>	
        /// <unmanaged>D3D10_COUNTER Counter</unmanaged>	
        /// <unmanaged-short>D3D10_COUNTER Counter</unmanaged-short>	
        public SharpDX.Direct3D10.CounterKind Counter;
        
        /// <summary>	
        /// <dd> <p>Reserved.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_COUNTER_DESC::MiscFlags']/*"/>	
        /// <msdn-id>bb204905</msdn-id>	
        /// <unmanaged>unsigned int MiscFlags</unmanaged>	
        /// <unmanaged-short>unsigned int MiscFlags</unmanaged-short>	
        public int MiscFlags;
    }
    
    /// <summary>	
    /// <p>Describes the stencil operations that can be performed based on the results of stencil test.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>The stencil operation can be set differently based on the outcome of the stencil test by using the <strong>StencilFunc</strong> member.  This can be done for the stencil test portion of depth-stencil testing.</p><p>The <see cref="SharpDX.Direct3D10.DepthStencilOperationDescription"/> structure is a member of the <strong><see cref="SharpDX.Direct3D10.DepthStencilStateDescription"/></strong> structure. </p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_DEPTH_STENCILOP_DESC']/*"/>	
    /// <msdn-id>bb205035</msdn-id>	
    /// <unmanaged>D3D10_DEPTH_STENCILOP_DESC</unmanaged>	
    /// <unmanaged-short>D3D10_DEPTH_STENCILOP_DESC</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct DepthStencilOperationDescription {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_DEPTH_STENCILOP_DESC::StencilFailOp']/*"/>	
        /// <msdn-id>bb205035</msdn-id>	
        /// <unmanaged>D3D10_STENCIL_OP StencilFailOp</unmanaged>	
        /// <unmanaged-short>D3D10_STENCIL_OP StencilFailOp</unmanaged-short>	
        public SharpDX.Direct3D10.StencilOperation FailOperation;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_DEPTH_STENCILOP_DESC::StencilDepthFailOp']/*"/>	
        /// <msdn-id>bb205035</msdn-id>	
        /// <unmanaged>D3D10_STENCIL_OP StencilDepthFailOp</unmanaged>	
        /// <unmanaged-short>D3D10_STENCIL_OP StencilDepthFailOp</unmanaged-short>	
        public SharpDX.Direct3D10.StencilOperation DepthFailOperation;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_DEPTH_STENCILOP_DESC::StencilPassOp']/*"/>	
        /// <msdn-id>bb205035</msdn-id>	
        /// <unmanaged>D3D10_STENCIL_OP StencilPassOp</unmanaged>	
        /// <unmanaged-short>D3D10_STENCIL_OP StencilPassOp</unmanaged-short>	
        public SharpDX.Direct3D10.StencilOperation PassOperation;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_DEPTH_STENCILOP_DESC::StencilFunc']/*"/>	
        /// <msdn-id>bb205035</msdn-id>	
        /// <unmanaged>D3D10_COMPARISON_FUNC StencilFunc</unmanaged>	
        /// <unmanaged-short>D3D10_COMPARISON_FUNC StencilFunc</unmanaged-short>	
        public SharpDX.Direct3D10.Comparison Comparison;
    }
    
    /// <summary>	
    /// <p>Describes depth-stencil state.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>Depth-stencil state controls how depth-stencil testing is performed by the output-merger stage.</p><p>The formats that support stenciling are <see cref="SharpDX.DXGI.Format.D24_UNorm_S8_UInt"/> and <see cref="SharpDX.DXGI.Format.D32_Float_S8X24_UInt"/>.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_DEPTH_STENCIL_DESC']/*"/>	
    /// <msdn-id>bb205036</msdn-id>	
    /// <unmanaged>D3D10_DEPTH_STENCIL_DESC</unmanaged>	
    /// <unmanaged-short>D3D10_DEPTH_STENCIL_DESC</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct DepthStencilStateDescription {	
        
        /// <summary>	
        /// <dd> <p>A Boolean value that enables depth testing.  The default value is <strong>TRUE</strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_DEPTH_STENCIL_DESC::DepthEnable']/*"/>	
        /// <msdn-id>bb205036</msdn-id>	
        /// <unmanaged>BOOL DepthEnable</unmanaged>	
        /// <unmanaged-short>BOOL DepthEnable</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawBool IsDepthEnabled;
        
        /// <summary>	
        /// <dd> <p>A member of the <strong><see cref="SharpDX.Direct3D10.DepthWriteMask"/></strong> enumerated type that identifies a portion of the depth-stencil buffer that can be modified by depth data.  The default value is <strong><see cref="SharpDX.Direct3D10.DepthWriteMask.All"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_DEPTH_STENCIL_DESC::DepthWriteMask']/*"/>	
        /// <msdn-id>bb205036</msdn-id>	
        /// <unmanaged>D3D10_DEPTH_WRITE_MASK DepthWriteMask</unmanaged>	
        /// <unmanaged-short>D3D10_DEPTH_WRITE_MASK DepthWriteMask</unmanaged-short>	
        public SharpDX.Direct3D10.DepthWriteMask DepthWriteMask;
        
        /// <summary>	
        /// <dd> <p>A member of the <strong><see cref="SharpDX.Direct3D10.Comparison"/></strong> enumerated type that defines how depth data is compared against existing depth data.  The default value is <strong><see cref="SharpDX.Direct3D10.Comparison.Less"/></strong></p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_DEPTH_STENCIL_DESC::DepthFunc']/*"/>	
        /// <msdn-id>bb205036</msdn-id>	
        /// <unmanaged>D3D10_COMPARISON_FUNC DepthFunc</unmanaged>	
        /// <unmanaged-short>D3D10_COMPARISON_FUNC DepthFunc</unmanaged-short>	
        public SharpDX.Direct3D10.Comparison DepthComparison;
        
        /// <summary>	
        /// <dd> <p>A Boolean value that enables stencil testing.  The default value is <strong><see cref="SharpDX.Result.False"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_DEPTH_STENCIL_DESC::StencilEnable']/*"/>	
        /// <msdn-id>bb205036</msdn-id>	
        /// <unmanaged>BOOL StencilEnable</unmanaged>	
        /// <unmanaged-short>BOOL StencilEnable</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawBool IsStencilEnabled;
        
        /// <summary>	
        /// <dd> <p>A value that identifies a portion of the depth-stencil buffer for reading stencil data.  The default value is <strong>D3D10_DEFAULT_STENCIL_READ_MASK</strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_DEPTH_STENCIL_DESC::StencilReadMask']/*"/>	
        /// <msdn-id>bb205036</msdn-id>	
        /// <unmanaged>unsigned char StencilReadMask</unmanaged>	
        /// <unmanaged-short>unsigned char StencilReadMask</unmanaged-short>	
        public byte StencilReadMask;
        
        /// <summary>	
        /// <dd> <p>A value that identifies a portion of the depth-stencil buffer for writing stencil data. The default value is <strong>D3D10_DEFAULT_STENCIL_WRITE_MASK</strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_DEPTH_STENCIL_DESC::StencilWriteMask']/*"/>	
        /// <msdn-id>bb205036</msdn-id>	
        /// <unmanaged>unsigned char StencilWriteMask</unmanaged>	
        /// <unmanaged-short>unsigned char StencilWriteMask</unmanaged-short>	
        public byte StencilWriteMask;
        
        /// <summary>	
        /// <dd> <p>A <strong><see cref="SharpDX.Direct3D10.DepthStencilOperationDescription"/></strong> structure that identifies how to use the results of the depth test and the stencil test for pixels whose surface normal is facing toward the camera.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_DEPTH_STENCIL_DESC::FrontFace']/*"/>	
        /// <msdn-id>bb205036</msdn-id>	
        /// <unmanaged>D3D10_DEPTH_STENCILOP_DESC FrontFace</unmanaged>	
        /// <unmanaged-short>D3D10_DEPTH_STENCILOP_DESC FrontFace</unmanaged-short>	
        public SharpDX.Direct3D10.DepthStencilOperationDescription FrontFace;
        
        /// <summary>	
        /// <dd> <p>A <strong><see cref="SharpDX.Direct3D10.DepthStencilOperationDescription"/></strong> structure that identifies how to use the results of the depth test and the stencil test for pixels whose surface normal is facing away from the camera.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_DEPTH_STENCIL_DESC::BackFace']/*"/>	
        /// <msdn-id>bb205036</msdn-id>	
        /// <unmanaged>D3D10_DEPTH_STENCILOP_DESC BackFace</unmanaged>	
        /// <unmanaged-short>D3D10_DEPTH_STENCILOP_DESC BackFace</unmanaged-short>	
        public SharpDX.Direct3D10.DepthStencilOperationDescription BackFace;
    }
    
    /// <summary>	
    /// <p>Specifies the subresource(s) from a texture that are accessible using a depth-stencil view.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>These are valid formats for a depth-stencil view:</p><ul> <li><see cref="SharpDX.DXGI.Format.D16_UNorm"/></li> <li><see cref="SharpDX.DXGI.Format.D24_UNorm_S8_UInt"/></li> <li><see cref="SharpDX.DXGI.Format.D32_Float"/></li> <li><see cref="SharpDX.DXGI.Format.D32_Float_S8X24_UInt"/></li> <li><see cref="SharpDX.DXGI.Format.Unknown"/></li> </ul><p>A depth-stencil view cannot use a typeless format.  If the format chosen is <see cref="SharpDX.DXGI.Format.Unknown"/>, then the format of the parent resource is used.</p><p>A depth-stencil-view description is needed when calling <strong><see cref="SharpDX.Direct3D10.Device.CreateDepthStencilView"/></strong>.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_DEPTH_STENCIL_VIEW_DESC']/*"/>	
    /// <msdn-id>bb205037</msdn-id>	
    /// <unmanaged>D3D10_DEPTH_STENCIL_VIEW_DESC</unmanaged>	
    /// <unmanaged-short>D3D10_DEPTH_STENCIL_VIEW_DESC</unmanaged-short>	
    [StructLayout(LayoutKind.Explicit)]
    public  partial struct DepthStencilViewDescription {	
        
        /// <summary>	
        /// <p>Specifies the subresource(s) from an array 2D textures that are accessible to a depth-stencil view.</p>	
        /// </summary>	
        /// <remarks>	
        /// <p>This structure is one member of a depth-stencil-view description (see <strong><see cref="SharpDX.Direct3D10.DepthStencilViewDescription"/></strong>).</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2D_ARRAY_DSV']/*"/>	
        /// <msdn-id>bb172470</msdn-id>	
        /// <unmanaged>D3D10_TEX2D_ARRAY_DSV</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2D_ARRAY_DSV</unmanaged-short>	
        [StructLayout(LayoutKind.Sequential)]
        public  partial struct Texture2DArrayResource {	
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2D_ARRAY_DSV::MipSlice']/*"/>	
            /// <msdn-id>bb172470</msdn-id>	
            /// <unmanaged>unsigned int MipSlice</unmanaged>	
            /// <unmanaged-short>unsigned int MipSlice</unmanaged-short>	
            public int MipSlice;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2D_ARRAY_DSV::FirstArraySlice']/*"/>	
            /// <msdn-id>bb172470</msdn-id>	
            /// <unmanaged>unsigned int FirstArraySlice</unmanaged>	
            /// <unmanaged-short>unsigned int FirstArraySlice</unmanaged-short>	
            public int FirstArraySlice;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2D_ARRAY_DSV::ArraySize']/*"/>	
            /// <msdn-id>bb172470</msdn-id>	
            /// <unmanaged>unsigned int ArraySize</unmanaged>	
            /// <unmanaged-short>unsigned int ArraySize</unmanaged-short>	
            public int ArraySize;
        }
        
        /// <summary>	
        /// <p>Specifies the subresource(s) from an array of multisampled 2D textures for a depth-stencil view.</p>	
        /// </summary>	
        /// <remarks>	
        /// <p>This structure is one member of a depth-stencil-view description (see <strong><see cref="SharpDX.Direct3D10.DepthStencilViewDescription"/></strong>).</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2DMS_ARRAY_DSV']/*"/>	
        /// <msdn-id>bb172464</msdn-id>	
        /// <unmanaged>D3D10_TEX2DMS_ARRAY_DSV</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2DMS_ARRAY_DSV</unmanaged-short>	
        [StructLayout(LayoutKind.Sequential)]
        public  partial struct Texture2DMultisampledArrayResource {	
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2DMS_ARRAY_DSV::FirstArraySlice']/*"/>	
            /// <msdn-id>bb172464</msdn-id>	
            /// <unmanaged>unsigned int FirstArraySlice</unmanaged>	
            /// <unmanaged-short>unsigned int FirstArraySlice</unmanaged-short>	
            public int FirstArraySlice;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2DMS_ARRAY_DSV::ArraySize']/*"/>	
            /// <msdn-id>bb172464</msdn-id>	
            /// <unmanaged>unsigned int ArraySize</unmanaged>	
            /// <unmanaged-short>unsigned int ArraySize</unmanaged-short>	
            public int ArraySize;
        }
        
        /// <summary>	
        /// <p>Specifies the subresource(s) from an array of 1D textures to use in a depth-stencil view.</p>	
        /// </summary>	
        /// <remarks>	
        /// <p>This structure is one member of a depth-stencil-view description (see <strong><see cref="SharpDX.Direct3D10.DepthStencilViewDescription"/></strong>).</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX1D_ARRAY_DSV']/*"/>	
        /// <msdn-id>bb172458</msdn-id>	
        /// <unmanaged>D3D10_TEX1D_ARRAY_DSV</unmanaged>	
        /// <unmanaged-short>D3D10_TEX1D_ARRAY_DSV</unmanaged-short>	
        [StructLayout(LayoutKind.Sequential)]
        public  partial struct Texture1DArrayResource {	
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX1D_ARRAY_DSV::MipSlice']/*"/>	
            /// <msdn-id>bb172458</msdn-id>	
            /// <unmanaged>unsigned int MipSlice</unmanaged>	
            /// <unmanaged-short>unsigned int MipSlice</unmanaged-short>	
            public int MipSlice;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX1D_ARRAY_DSV::FirstArraySlice']/*"/>	
            /// <msdn-id>bb172458</msdn-id>	
            /// <unmanaged>unsigned int FirstArraySlice</unmanaged>	
            /// <unmanaged-short>unsigned int FirstArraySlice</unmanaged-short>	
            public int FirstArraySlice;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX1D_ARRAY_DSV::ArraySize']/*"/>	
            /// <msdn-id>bb172458</msdn-id>	
            /// <unmanaged>unsigned int ArraySize</unmanaged>	
            /// <unmanaged-short>unsigned int ArraySize</unmanaged-short>	
            public int ArraySize;
        }
        
        /// <summary>	
        /// <p>Specifies the subresource from a 1D texture that is accessible to a depth-stencil view.</p>	
        /// </summary>	
        /// <remarks>	
        /// <p>This structure is one member of a depth-stencil-view description (see <strong><see cref="SharpDX.Direct3D10.DepthStencilViewDescription"/></strong>).</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX1D_DSV']/*"/>	
        /// <msdn-id>bb172461</msdn-id>	
        /// <unmanaged>D3D10_TEX1D_DSV</unmanaged>	
        /// <unmanaged-short>D3D10_TEX1D_DSV</unmanaged-short>	
        [StructLayout(LayoutKind.Sequential)]
        public  partial struct Texture1DResource {	
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX1D_DSV::MipSlice']/*"/>	
            /// <msdn-id>bb172461</msdn-id>	
            /// <unmanaged>unsigned int MipSlice</unmanaged>	
            /// <unmanaged-short>unsigned int MipSlice</unmanaged-short>	
            public int MipSlice;
        }
        
        /// <summary>	
        /// <p>Specifies the subresource from a 2D texture that is accessible to a depth-stencil view.</p>	
        /// </summary>	
        /// <remarks>	
        /// <p>This structure is one member of a depth-stencil-view description (see <strong><see cref="SharpDX.Direct3D10.DepthStencilViewDescription"/></strong>).</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2D_DSV']/*"/>	
        /// <msdn-id>bb172473</msdn-id>	
        /// <unmanaged>D3D10_TEX2D_DSV</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2D_DSV</unmanaged-short>	
        [StructLayout(LayoutKind.Sequential)]
        public  partial struct Texture2DResource {	
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2D_DSV::MipSlice']/*"/>	
            /// <msdn-id>bb172473</msdn-id>	
            /// <unmanaged>unsigned int MipSlice</unmanaged>	
            /// <unmanaged-short>unsigned int MipSlice</unmanaged-short>	
            public int MipSlice;
        }
        
        /// <summary>	
        /// <p>Specifies the subresource from a multisampled 2D texture that is accessible to a depth-stencil view.</p>	
        /// </summary>	
        /// <remarks>	
        /// <p>Since a multisampled 2D texture contains a single subtexture, there is nothing to specify; this unused member is included so that this structure will compile in C.</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2DMS_DSV']/*"/>	
        /// <msdn-id>bb172467</msdn-id>	
        /// <unmanaged>D3D10_TEX2DMS_DSV</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2DMS_DSV</unmanaged-short>	
        [StructLayout(LayoutKind.Sequential)]
        public  partial struct Texture2DMultisampledResource {	
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2DMS_DSV::UnusedField_NothingToDefine']/*"/>	
            /// <msdn-id>bb172467</msdn-id>	
            /// <unmanaged>unsigned int UnusedField_NothingToDefine</unmanaged>	
            /// <unmanaged-short>unsigned int UnusedField_NothingToDefine</unmanaged-short>	
            public int UnusedFieldNothingToDefine;
        }
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_DEPTH_STENCIL_VIEW_DESC::Format']/*"/>	
        /// <msdn-id>bb205037</msdn-id>	
        /// <unmanaged>DXGI_FORMAT Format</unmanaged>	
        /// <unmanaged-short>DXGI_FORMAT Format</unmanaged-short>	
        [FieldOffset(0)]
        public SharpDX.DXGI.Format Format;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_DEPTH_STENCIL_VIEW_DESC::ViewDimension']/*"/>	
        /// <msdn-id>bb205037</msdn-id>	
        /// <unmanaged>D3D10_DSV_DIMENSION ViewDimension</unmanaged>	
        /// <unmanaged-short>D3D10_DSV_DIMENSION ViewDimension</unmanaged-short>	
        [FieldOffset(4)]
        public SharpDX.Direct3D10.DepthStencilViewDimension Dimension;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_DEPTH_STENCIL_VIEW_DESC::Texture1D']/*"/>	
        /// <msdn-id>bb205037</msdn-id>	
        /// <unmanaged>D3D10_TEX1D_DSV Texture1D</unmanaged>	
        /// <unmanaged-short>D3D10_TEX1D_DSV Texture1D</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.DepthStencilViewDescription.Texture1DResource Texture1D;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_DEPTH_STENCIL_VIEW_DESC::Texture1DArray']/*"/>	
        /// <msdn-id>bb205037</msdn-id>	
        /// <unmanaged>D3D10_TEX1D_ARRAY_DSV Texture1DArray</unmanaged>	
        /// <unmanaged-short>D3D10_TEX1D_ARRAY_DSV Texture1DArray</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.DepthStencilViewDescription.Texture1DArrayResource Texture1DArray;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_DEPTH_STENCIL_VIEW_DESC::Texture2D']/*"/>	
        /// <msdn-id>bb205037</msdn-id>	
        /// <unmanaged>D3D10_TEX2D_DSV Texture2D</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2D_DSV Texture2D</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.DepthStencilViewDescription.Texture2DResource Texture2D;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_DEPTH_STENCIL_VIEW_DESC::Texture2DArray']/*"/>	
        /// <msdn-id>bb205037</msdn-id>	
        /// <unmanaged>D3D10_TEX2D_ARRAY_DSV Texture2DArray</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2D_ARRAY_DSV Texture2DArray</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.DepthStencilViewDescription.Texture2DArrayResource Texture2DArray;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_DEPTH_STENCIL_VIEW_DESC::Texture2DMS']/*"/>	
        /// <msdn-id>bb205037</msdn-id>	
        /// <unmanaged>D3D10_TEX2DMS_DSV Texture2DMS</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2DMS_DSV Texture2DMS</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.DepthStencilViewDescription.Texture2DMultisampledResource Texture2DMS;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_DEPTH_STENCIL_VIEW_DESC::Texture2DMSArray']/*"/>	
        /// <msdn-id>bb205037</msdn-id>	
        /// <unmanaged>D3D10_TEX2DMS_ARRAY_DSV Texture2DMSArray</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2DMS_ARRAY_DSV Texture2DMSArray</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.DepthStencilViewDescription.Texture2DMultisampledArrayResource Texture2DMSArray;
    }
    
    /// <summary>	
    /// <p>Describes an effect.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>To get an effect description, call <strong><see cref="SharpDX.Direct3D10.Effect.GetDescription"/></strong>.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_DESC']/*"/>	
    /// <msdn-id>bb205047</msdn-id>	
    /// <unmanaged>D3D10_EFFECT_DESC</unmanaged>	
    /// <unmanaged-short>D3D10_EFFECT_DESC</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct EffectDescription {	
        
        /// <summary>	
        /// <dd> <p><strong>TRUE</strong> if the effect is a child effect; otherwise <strong><see cref="SharpDX.Result.False"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_DESC::IsChildEffect']/*"/>	
        /// <msdn-id>bb205047</msdn-id>	
        /// <unmanaged>BOOL IsChildEffect</unmanaged>	
        /// <unmanaged-short>BOOL IsChildEffect</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawBool IsChildEffect;
        
        /// <summary>	
        /// <dd> <p>The number of constant buffers.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_DESC::ConstantBuffers']/*"/>	
        /// <msdn-id>bb205047</msdn-id>	
        /// <unmanaged>unsigned int ConstantBuffers</unmanaged>	
        /// <unmanaged-short>unsigned int ConstantBuffers</unmanaged-short>	
        public int ConstantBufferCount;
        
        /// <summary>	
        /// <dd> <p>The number of constant buffers shared in an effect pool.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_DESC::SharedConstantBuffers']/*"/>	
        /// <msdn-id>bb205047</msdn-id>	
        /// <unmanaged>unsigned int SharedConstantBuffers</unmanaged>	
        /// <unmanaged-short>unsigned int SharedConstantBuffers</unmanaged-short>	
        public int SharedConstantBufferCount;
        
        /// <summary>	
        /// <dd> <p>The number of global variables.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_DESC::GlobalVariables']/*"/>	
        /// <msdn-id>bb205047</msdn-id>	
        /// <unmanaged>unsigned int GlobalVariables</unmanaged>	
        /// <unmanaged-short>unsigned int GlobalVariables</unmanaged-short>	
        public int GlobalVariableCount;
        
        /// <summary>	
        /// <dd> <p>The number of global variables shared in an effect pool.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_DESC::SharedGlobalVariables']/*"/>	
        /// <msdn-id>bb205047</msdn-id>	
        /// <unmanaged>unsigned int SharedGlobalVariables</unmanaged>	
        /// <unmanaged-short>unsigned int SharedGlobalVariables</unmanaged-short>	
        public int SharedGlobalVariableCount;
        
        /// <summary>	
        /// <dd> <p>The number of techniques.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_DESC::Techniques']/*"/>	
        /// <msdn-id>bb205047</msdn-id>	
        /// <unmanaged>unsigned int Techniques</unmanaged>	
        /// <unmanaged-short>unsigned int Techniques</unmanaged-short>	
        public int TechniqueCount;
    }
    
    /// <summary>	
    /// <p>Describes an effect pass, which contains pipeline state.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>Get a pass description by calling <strong><see cref="SharpDX.Direct3D10.EffectPass.GetDescription"/></strong>; an effect technique contains one or more passes.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_PASS_DESC']/*"/>	
    /// <msdn-id>bb205330</msdn-id>	
    /// <unmanaged>D3D10_PASS_DESC</unmanaged>	
    /// <unmanaged-short>D3D10_PASS_DESC</unmanaged-short>	
    public  partial struct EffectPassDescription {	
        
        /// <summary>	
        /// <dd> <p>A string that contains the name of the pass; otherwise <strong><c>null</c></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_PASS_DESC::Name']/*"/>	
        /// <msdn-id>bb205330</msdn-id>	
        /// <unmanaged>const char* Name</unmanaged>	
        /// <unmanaged-short>char Name</unmanaged-short>	
        public string Name;
        
        /// <summary>	
        /// <dd> <p>The number of annotations.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_PASS_DESC::Annotations']/*"/>	
        /// <msdn-id>bb205330</msdn-id>	
        /// <unmanaged>unsigned int Annotations</unmanaged>	
        /// <unmanaged-short>unsigned int Annotations</unmanaged-short>	
        public int AnnotationCount;
        
        /// <summary>	
        /// <dd> <p>A reference to the input signature or the vertex shader; otherwise <strong><c>null</c></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_PASS_DESC::pIAInputSignature']/*"/>	
        /// <msdn-id>bb205330</msdn-id>	
        /// <unmanaged>unsigned char* pIAInputSignature</unmanaged>	
        /// <unmanaged-short>unsigned char pIAInputSignature</unmanaged-short>	
        internal System.IntPtr PIAInputSignature;
        
        /// <summary>	
        /// <dd> <p>The size of the input signature (in bytes).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_PASS_DESC::IAInputSignatureSize']/*"/>	
        /// <msdn-id>bb205330</msdn-id>	
        /// <unmanaged>SIZE_T IAInputSignatureSize</unmanaged>	
        /// <unmanaged-short>SIZE_T IAInputSignatureSize</unmanaged-short>	
        internal SharpDX.PointerSize IAInputSignatureSize;
        
        /// <summary>	
        /// <dd> <p>The stencil-reference value used in the depth-stencil state (see Configuring Depth-Stencil Functionality (Direct3D 10)).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_PASS_DESC::StencilRef']/*"/>	
        /// <msdn-id>bb205330</msdn-id>	
        /// <unmanaged>unsigned int StencilRef</unmanaged>	
        /// <unmanaged-short>unsigned int StencilRef</unmanaged-short>	
        public int StencilReference;
        
        /// <summary>	
        /// <dd> <p>The sample mask for the blend state (see Configuring Blending Functionality (Direct3D 10)).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_PASS_DESC::SampleMask']/*"/>	
        /// <msdn-id>bb205330</msdn-id>	
        /// <unmanaged>unsigned int SampleMask</unmanaged>	
        /// <unmanaged-short>unsigned int SampleMask</unmanaged-short>	
        public int SampleMask;
        
        /// <summary>	
        /// <dd> <p>The per-component blend factors (RGBA) for the blend state (see Configuring Blending Functionality (Direct3D 10)).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_PASS_DESC::BlendFactor']/*"/>	
        /// <msdn-id>bb205330</msdn-id>	
        /// <unmanaged>SHARPDX_COLOR4 BlendFactor</unmanaged>	
        /// <unmanaged-short>SHARPDX_COLOR4 BlendFactor</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawColor4 BlendFactor;

        // Internal native struct used for marshalling
        [StructLayout(LayoutKind.Sequential)]
        internal partial struct __Native {	
            public System.IntPtr Name;
            public int AnnotationCount;
            public System.IntPtr PIAInputSignature;
            public SharpDX.PointerSize IAInputSignatureSize;
            public int StencilReference;
            public int SampleMask;
            public SharpDX.Mathematics.Interop.RawColor4 BlendFactor;
		    // Method to free unmanaged allocation
            internal unsafe void __MarshalFree()
            {   
                if (this.Name != IntPtr.Zero)
                    Marshal.FreeHGlobal(this.Name);		
            }
        }
		
		// Method to free unmanaged allocation
        internal unsafe void __MarshalFree(ref __Native @ref)
        {   
            @ref.__MarshalFree();
        }
		
		// Method to marshal from native to managed struct
        internal unsafe void __MarshalFrom(ref __Native @ref)
        {            
            this.Name = ( @ref.Name == IntPtr.Zero )?null:Marshal.PtrToStringAnsi(@ref.Name);
            this.AnnotationCount = @ref.AnnotationCount;
            this.PIAInputSignature = @ref.PIAInputSignature;
            this.IAInputSignatureSize = @ref.IAInputSignatureSize;
            this.StencilReference = @ref.StencilReference;
            this.SampleMask = @ref.SampleMask;
            this.BlendFactor = @ref.BlendFactor;
        }
        // Method to marshal from managed struct tot native
        internal unsafe void __MarshalTo(ref __Native @ref)
        {
            @ref.Name = ( this.Name == null )?IntPtr.Zero : Utilities.StringToHGlobalAnsi(this.Name);
            @ref.AnnotationCount = this.AnnotationCount;
            @ref.PIAInputSignature = this.PIAInputSignature;
            @ref.IAInputSignatureSize = this.IAInputSignatureSize;
            @ref.StencilReference = this.StencilReference;
            @ref.SampleMask = this.SampleMask;
            @ref.BlendFactor = this.BlendFactor;
		
		}
    }
    
    /// <summary>	
    /// <p>Describes an effect variable that contains a shader.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>To get a shader description, call a method like <strong><see cref="SharpDX.Direct3D10.EffectPass.GetVertexShaderDescription"/></strong>.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_PASS_SHADER_DESC']/*"/>	
    /// <msdn-id>bb205331</msdn-id>	
    /// <unmanaged>D3D10_PASS_SHADER_DESC</unmanaged>	
    /// <unmanaged-short>D3D10_PASS_SHADER_DESC</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct EffectPassShaderDescription {	
        
        /// <summary>	
        /// <dd> <p>A reference to the variable that the shader came from. If it is an inline shader assignment, the returned interface will be an anonymous shader variable, which is not retrievable any other way.  Its name in the variable description will be "$Anonymous". If there is no assignment of this type in the pass block, this will point to a shader variable that returns false when IsValid is called.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_PASS_SHADER_DESC::pShaderVariable']/*"/>	
        /// <msdn-id>bb205331</msdn-id>	
        /// <unmanaged>ID3D10EffectShaderVariable* pShaderVariable</unmanaged>	
        /// <unmanaged-short>ID3D10EffectShaderVariable pShaderVariable</unmanaged-short>	
        internal System.IntPtr VariablePointer;
        
        /// <summary>	
        /// <dd> <p>A zero-based array index; otherwise 0.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_PASS_SHADER_DESC::ShaderIndex']/*"/>	
        /// <msdn-id>bb205331</msdn-id>	
        /// <unmanaged>unsigned int ShaderIndex</unmanaged>	
        /// <unmanaged-short>unsigned int ShaderIndex</unmanaged-short>	
        public int Index;
    }
    
    /// <summary>	
    /// <p>Describes an effect shader.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>To get an effect-shader description, call <strong><see cref="SharpDX.Direct3D10.EffectShaderVariable.GetShaderDescription"/></strong>.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_SHADER_DESC']/*"/>	
    /// <msdn-id>bb205051</msdn-id>	
    /// <unmanaged>D3D10_EFFECT_SHADER_DESC</unmanaged>	
    /// <unmanaged-short>D3D10_EFFECT_SHADER_DESC</unmanaged-short>	
    public  partial struct EffectShaderDescription {	
        
        /// <summary>	
        /// <dd> <p>Passed into CreateInputLayout. Only valid on a vertex shader or geometry shader. See <strong>ID3D10Device_CreateInputLayout</strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_SHADER_DESC::pInputSignature']/*"/>	
        /// <msdn-id>bb205051</msdn-id>	
        /// <unmanaged>const unsigned char* pInputSignature</unmanaged>	
        /// <unmanaged-short>unsigned char pInputSignature</unmanaged-short>	
        internal System.IntPtr InputSignaturePointer;
        
        /// <summary>	
        /// <dd> <p><strong>TRUE</strong> is the shader is defined inline; otherwise <strong><see cref="SharpDX.Result.False"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_SHADER_DESC::IsInline']/*"/>	
        /// <msdn-id>bb205051</msdn-id>	
        /// <unmanaged>BOOL IsInline</unmanaged>	
        /// <unmanaged-short>BOOL IsInline</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawBool IsInline;
        
        /// <summary>	
        /// <dd> <p>A reference to the compiled shader.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_SHADER_DESC::pBytecode']/*"/>	
        /// <msdn-id>bb205051</msdn-id>	
        /// <unmanaged>const unsigned char* pBytecode</unmanaged>	
        /// <unmanaged-short>unsigned char pBytecode</unmanaged-short>	
        internal System.IntPtr BytecodePointer;
        
        /// <summary>	
        /// <dd> <p>The length of pBytecode.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_SHADER_DESC::BytecodeLength']/*"/>	
        /// <msdn-id>bb205051</msdn-id>	
        /// <unmanaged>unsigned int BytecodeLength</unmanaged>	
        /// <unmanaged-short>unsigned int BytecodeLength</unmanaged-short>	
        internal int BytecodeLength;
        
        /// <summary>	
        /// <dd> <p>A string that constains a declaration of the stream output  from a geometry shader.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_SHADER_DESC::SODecl']/*"/>	
        /// <msdn-id>bb205051</msdn-id>	
        /// <unmanaged>const char* SODecl</unmanaged>	
        /// <unmanaged-short>char SODecl</unmanaged-short>	
        public string StreamOutputDeclaration;
        
        /// <summary>	
        /// <dd> <p>The number of entries in the input signature.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_SHADER_DESC::NumInputSignatureEntries']/*"/>	
        /// <msdn-id>bb205051</msdn-id>	
        /// <unmanaged>unsigned int NumInputSignatureEntries</unmanaged>	
        /// <unmanaged-short>unsigned int NumInputSignatureEntries</unmanaged-short>	
        public int InputParameterCount;
        
        /// <summary>	
        /// <dd> <p>The number of entries in the output signature.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_SHADER_DESC::NumOutputSignatureEntries']/*"/>	
        /// <msdn-id>bb205051</msdn-id>	
        /// <unmanaged>unsigned int NumOutputSignatureEntries</unmanaged>	
        /// <unmanaged-short>unsigned int NumOutputSignatureEntries</unmanaged-short>	
        public int OutputParameterCount;

        // Internal native struct used for marshalling
        [StructLayout(LayoutKind.Sequential)]
        internal partial struct __Native {	
            public System.IntPtr InputSignaturePointer;
            public SharpDX.Mathematics.Interop.RawBool IsInline;
            public System.IntPtr BytecodePointer;
            public int BytecodeLength;
            public System.IntPtr StreamOutputDeclaration;
            public int InputParameterCount;
            public int OutputParameterCount;
		    // Method to free unmanaged allocation
            internal unsafe void __MarshalFree()
            {   
                if (this.StreamOutputDeclaration != IntPtr.Zero)
                    Marshal.FreeHGlobal(this.StreamOutputDeclaration);		
            }
        }
		
		// Method to free unmanaged allocation
        internal unsafe void __MarshalFree(ref __Native @ref)
        {   
            @ref.__MarshalFree();
        }
		
		// Method to marshal from native to managed struct
        internal unsafe void __MarshalFrom(ref __Native @ref)
        {            
            this.InputSignaturePointer = @ref.InputSignaturePointer;
            this.IsInline = @ref.IsInline;
            this.BytecodePointer = @ref.BytecodePointer;
            this.BytecodeLength = @ref.BytecodeLength;
            this.StreamOutputDeclaration = ( @ref.StreamOutputDeclaration == IntPtr.Zero )?null:Marshal.PtrToStringAnsi(@ref.StreamOutputDeclaration);
            this.InputParameterCount = @ref.InputParameterCount;
            this.OutputParameterCount = @ref.OutputParameterCount;
        }
        // Method to marshal from managed struct tot native
        internal unsafe void __MarshalTo(ref __Native @ref)
        {
            @ref.InputSignaturePointer = this.InputSignaturePointer;
            @ref.IsInline = this.IsInline;
            @ref.BytecodePointer = this.BytecodePointer;
            @ref.BytecodeLength = this.BytecodeLength;
            @ref.StreamOutputDeclaration = ( this.StreamOutputDeclaration == null )?IntPtr.Zero : Utilities.StringToHGlobalAnsi(this.StreamOutputDeclaration);
            @ref.InputParameterCount = this.InputParameterCount;
            @ref.OutputParameterCount = this.OutputParameterCount;
		
		}
    }
    
    /// <summary>	
    /// <p>Describes an effect technique.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>To get a technique, call <strong><see cref="SharpDX.Direct3D10.EffectTechnique.GetDescription"/></strong>.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TECHNIQUE_DESC']/*"/>	
    /// <msdn-id>bb172457</msdn-id>	
    /// <unmanaged>D3D10_TECHNIQUE_DESC</unmanaged>	
    /// <unmanaged-short>D3D10_TECHNIQUE_DESC</unmanaged-short>	
    public  partial struct EffectTechniqueDescription {	
        
        /// <summary>	
        /// <dd> <p>A string that contains the technique name; otherwise <strong><c>null</c></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TECHNIQUE_DESC::Name']/*"/>	
        /// <msdn-id>bb172457</msdn-id>	
        /// <unmanaged>const char* Name</unmanaged>	
        /// <unmanaged-short>char Name</unmanaged-short>	
        public string Name;
        
        /// <summary>	
        /// <dd> <p>The number of passes in the technique.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TECHNIQUE_DESC::Passes']/*"/>	
        /// <msdn-id>bb172457</msdn-id>	
        /// <unmanaged>unsigned int Passes</unmanaged>	
        /// <unmanaged-short>unsigned int Passes</unmanaged-short>	
        public int PassCount;
        
        /// <summary>	
        /// <dd> <p>The number of annotations.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TECHNIQUE_DESC::Annotations']/*"/>	
        /// <msdn-id>bb172457</msdn-id>	
        /// <unmanaged>unsigned int Annotations</unmanaged>	
        /// <unmanaged-short>unsigned int Annotations</unmanaged-short>	
        public int AnnotationCount;

        // Internal native struct used for marshalling
        [StructLayout(LayoutKind.Sequential)]
        internal partial struct __Native {	
            public System.IntPtr Name;
            public int PassCount;
            public int AnnotationCount;
		    // Method to free unmanaged allocation
            internal unsafe void __MarshalFree()
            {   
                if (this.Name != IntPtr.Zero)
                    Marshal.FreeHGlobal(this.Name);		
            }
        }
		
		// Method to free unmanaged allocation
        internal unsafe void __MarshalFree(ref __Native @ref)
        {   
            @ref.__MarshalFree();
        }
		
		// Method to marshal from native to managed struct
        internal unsafe void __MarshalFrom(ref __Native @ref)
        {            
            this.Name = ( @ref.Name == IntPtr.Zero )?null:Marshal.PtrToStringAnsi(@ref.Name);
            this.PassCount = @ref.PassCount;
            this.AnnotationCount = @ref.AnnotationCount;
        }
        // Method to marshal from managed struct tot native
        internal unsafe void __MarshalTo(ref __Native @ref)
        {
            @ref.Name = ( this.Name == null )?IntPtr.Zero : Utilities.StringToHGlobalAnsi(this.Name);
            @ref.PassCount = this.PassCount;
            @ref.AnnotationCount = this.AnnotationCount;
		
		}
    }
    
    /// <summary>	
    /// <p>Describes an effect-variable type.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>To get an effect-variable type, call <strong><see cref="SharpDX.Direct3D10.EffectType.GetDescription"/></strong>.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_TYPE_DESC']/*"/>	
    /// <msdn-id>bb205054</msdn-id>	
    /// <unmanaged>D3D10_EFFECT_TYPE_DESC</unmanaged>	
    /// <unmanaged-short>D3D10_EFFECT_TYPE_DESC</unmanaged-short>	
    public  partial struct EffectTypeDescription {	
        
        /// <summary>	
        /// <dd> <p>A string that contains the variable name.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_TYPE_DESC::TypeName']/*"/>	
        /// <msdn-id>bb205054</msdn-id>	
        /// <unmanaged>const char* TypeName</unmanaged>	
        /// <unmanaged-short>char TypeName</unmanaged-short>	
        public string TypeName;
        
        /// <summary>	
        /// <dd> <p>The variable class (see <strong>D3D10_SHADER_VARIABLE_CLASS</strong>).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_TYPE_DESC::Class']/*"/>	
        /// <msdn-id>bb205054</msdn-id>	
        /// <unmanaged>D3D_SHADER_VARIABLE_CLASS Class</unmanaged>	
        /// <unmanaged-short>D3D_SHADER_VARIABLE_CLASS Class</unmanaged-short>	
        public SharpDX.D3DCompiler.ShaderVariableClass Class;
        
        /// <summary>	
        /// <dd> <p>The variable type (see <strong>D3D10_SHADER_VARIABLE_TYPE</strong>).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_TYPE_DESC::Type']/*"/>	
        /// <msdn-id>bb205054</msdn-id>	
        /// <unmanaged>D3D_SHADER_VARIABLE_TYPE Type</unmanaged>	
        /// <unmanaged-short>D3D_SHADER_VARIABLE_TYPE Type</unmanaged-short>	
        public SharpDX.D3DCompiler.ShaderVariableType Type;
        
        /// <summary>	
        /// <dd> <p>The number of elements if the variable is an array; otherwise 0.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_TYPE_DESC::Elements']/*"/>	
        /// <msdn-id>bb205054</msdn-id>	
        /// <unmanaged>unsigned int Elements</unmanaged>	
        /// <unmanaged-short>unsigned int Elements</unmanaged-short>	
        public int Elements;
        
        /// <summary>	
        /// <dd> <p>The number of members if the variable is a structure; otherwise 0.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_TYPE_DESC::Members']/*"/>	
        /// <msdn-id>bb205054</msdn-id>	
        /// <unmanaged>unsigned int Members</unmanaged>	
        /// <unmanaged-short>unsigned int Members</unmanaged-short>	
        public int Members;
        
        /// <summary>	
        /// <dd> <p>The number of rows if the variable is a matrix; otherwise 0.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_TYPE_DESC::Rows']/*"/>	
        /// <msdn-id>bb205054</msdn-id>	
        /// <unmanaged>unsigned int Rows</unmanaged>	
        /// <unmanaged-short>unsigned int Rows</unmanaged-short>	
        public int Rows;
        
        /// <summary>	
        /// <dd> <p>The number of columns if the variable is a matrix; otherwise 0.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_TYPE_DESC::Columns']/*"/>	
        /// <msdn-id>bb205054</msdn-id>	
        /// <unmanaged>unsigned int Columns</unmanaged>	
        /// <unmanaged-short>unsigned int Columns</unmanaged-short>	
        public int Columns;
        
        /// <summary>	
        /// <dd> <p>The number of bytes that the variable consumes when it is packed tightly by the compiler.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_TYPE_DESC::PackedSize']/*"/>	
        /// <msdn-id>bb205054</msdn-id>	
        /// <unmanaged>unsigned int PackedSize</unmanaged>	
        /// <unmanaged-short>unsigned int PackedSize</unmanaged-short>	
        public int PackedSize;
        
        /// <summary>	
        /// <dd> <p>The number of bytes that the variable consumes before it is packed by the compiler.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_TYPE_DESC::UnpackedSize']/*"/>	
        /// <msdn-id>bb205054</msdn-id>	
        /// <unmanaged>unsigned int UnpackedSize</unmanaged>	
        /// <unmanaged-short>unsigned int UnpackedSize</unmanaged-short>	
        public int UnpackedSize;
        
        /// <summary>	
        /// <dd> <p>The number of bytes between elements.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_TYPE_DESC::Stride']/*"/>	
        /// <msdn-id>bb205054</msdn-id>	
        /// <unmanaged>unsigned int Stride</unmanaged>	
        /// <unmanaged-short>unsigned int Stride</unmanaged-short>	
        public int Stride;

        // Internal native struct used for marshalling
        [StructLayout(LayoutKind.Sequential)]
        internal partial struct __Native {	
            public System.IntPtr TypeName;
            public SharpDX.D3DCompiler.ShaderVariableClass Class;
            public SharpDX.D3DCompiler.ShaderVariableType Type;
            public int Elements;
            public int Members;
            public int Rows;
            public int Columns;
            public int PackedSize;
            public int UnpackedSize;
            public int Stride;
		    // Method to free unmanaged allocation
            internal unsafe void __MarshalFree()
            {   
                if (this.TypeName != IntPtr.Zero)
                    Marshal.FreeHGlobal(this.TypeName);		
            }
        }
		
		// Method to free unmanaged allocation
        internal unsafe void __MarshalFree(ref __Native @ref)
        {   
            @ref.__MarshalFree();
        }
		
		// Method to marshal from native to managed struct
        internal unsafe void __MarshalFrom(ref __Native @ref)
        {            
            this.TypeName = ( @ref.TypeName == IntPtr.Zero )?null:Marshal.PtrToStringAnsi(@ref.TypeName);
            this.Class = @ref.Class;
            this.Type = @ref.Type;
            this.Elements = @ref.Elements;
            this.Members = @ref.Members;
            this.Rows = @ref.Rows;
            this.Columns = @ref.Columns;
            this.PackedSize = @ref.PackedSize;
            this.UnpackedSize = @ref.UnpackedSize;
            this.Stride = @ref.Stride;
        }
        // Method to marshal from managed struct tot native
        internal unsafe void __MarshalTo(ref __Native @ref)
        {
            @ref.TypeName = ( this.TypeName == null )?IntPtr.Zero : Utilities.StringToHGlobalAnsi(this.TypeName);
            @ref.Class = this.Class;
            @ref.Type = this.Type;
            @ref.Elements = this.Elements;
            @ref.Members = this.Members;
            @ref.Rows = this.Rows;
            @ref.Columns = this.Columns;
            @ref.PackedSize = this.PackedSize;
            @ref.UnpackedSize = this.UnpackedSize;
            @ref.Stride = this.Stride;
		
		}
    }
    
    /// <summary>	
    /// <p>Describes an effect variable.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>To get an effect-variable description, call <strong><see cref="SharpDX.Direct3D10.EffectVariable.GetDescription"/></strong>.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_VARIABLE_DESC']/*"/>	
    /// <msdn-id>bb205056</msdn-id>	
    /// <unmanaged>D3D10_EFFECT_VARIABLE_DESC</unmanaged>	
    /// <unmanaged-short>D3D10_EFFECT_VARIABLE_DESC</unmanaged-short>	
    public  partial struct EffectVariableDescription {	
        
        /// <summary>	
        /// <dd> <p>A string that contains the variable name.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_VARIABLE_DESC::Name']/*"/>	
        /// <msdn-id>bb205056</msdn-id>	
        /// <unmanaged>const char* Name</unmanaged>	
        /// <unmanaged-short>char Name</unmanaged-short>	
        public string Name;
        
        /// <summary>	
        /// <dd> <p>The semantic attached to the variable; otherwise <strong><c>null</c></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_VARIABLE_DESC::Semantic']/*"/>	
        /// <msdn-id>bb205056</msdn-id>	
        /// <unmanaged>const char* Semantic</unmanaged>	
        /// <unmanaged-short>char Semantic</unmanaged-short>	
        public string Semantic;
        
        /// <summary>	
        /// <dd> <p>Optional flags for effect variables. </p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_VARIABLE_DESC::Flags']/*"/>	
        /// <msdn-id>bb205056</msdn-id>	
        /// <unmanaged>D3D10_EFFECT_VARIABLE_FLAGS Flags</unmanaged>	
        /// <unmanaged-short>D3D10_EFFECT_VARIABLE_FLAGS Flags</unmanaged-short>	
        public SharpDX.Direct3D10.EffectVariableFlags Flags;
        
        /// <summary>	
        /// <dd> <p>The number of annotations; otherwise 0.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_VARIABLE_DESC::Annotations']/*"/>	
        /// <msdn-id>bb205056</msdn-id>	
        /// <unmanaged>unsigned int Annotations</unmanaged>	
        /// <unmanaged-short>unsigned int Annotations</unmanaged-short>	
        public int AnnotationCount;
        
        /// <summary>	
        /// <dd> <p>The offset between the beginning of the constant buffer and this variable; otherwise 0.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_VARIABLE_DESC::BufferOffset']/*"/>	
        /// <msdn-id>bb205056</msdn-id>	
        /// <unmanaged>unsigned int BufferOffset</unmanaged>	
        /// <unmanaged-short>unsigned int BufferOffset</unmanaged-short>	
        public int BufferOffset;
        
        /// <summary>	
        /// <dd> <p>The register that this variable is bound to. To bind a variable explicitly use the <see cref="SharpDX.Direct3D10.EffectVariableFlags.ExplicitBindPoint"/> flag.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_EFFECT_VARIABLE_DESC::ExplicitBindPoint']/*"/>	
        /// <msdn-id>bb205056</msdn-id>	
        /// <unmanaged>unsigned int ExplicitBindPoint</unmanaged>	
        /// <unmanaged-short>unsigned int ExplicitBindPoint</unmanaged-short>	
        public int ExplicitBindPoint;

        // Internal native struct used for marshalling
        [StructLayout(LayoutKind.Sequential)]
        internal partial struct __Native {	
            public System.IntPtr Name;
            public System.IntPtr Semantic;
            public SharpDX.Direct3D10.EffectVariableFlags Flags;
            public int AnnotationCount;
            public int BufferOffset;
            public int ExplicitBindPoint;
		    // Method to free unmanaged allocation
            internal unsafe void __MarshalFree()
            {   
                if (this.Name != IntPtr.Zero)
                    Marshal.FreeHGlobal(this.Name);		
                if (this.Semantic != IntPtr.Zero)
                    Marshal.FreeHGlobal(this.Semantic);		
            }
        }
		
		// Method to free unmanaged allocation
        internal unsafe void __MarshalFree(ref __Native @ref)
        {   
            @ref.__MarshalFree();
        }
		
		// Method to marshal from native to managed struct
        internal unsafe void __MarshalFrom(ref __Native @ref)
        {            
            this.Name = ( @ref.Name == IntPtr.Zero )?null:Marshal.PtrToStringAnsi(@ref.Name);
            this.Semantic = ( @ref.Semantic == IntPtr.Zero )?null:Marshal.PtrToStringAnsi(@ref.Semantic);
            this.Flags = @ref.Flags;
            this.AnnotationCount = @ref.AnnotationCount;
            this.BufferOffset = @ref.BufferOffset;
            this.ExplicitBindPoint = @ref.ExplicitBindPoint;
        }
        // Method to marshal from managed struct tot native
        internal unsafe void __MarshalTo(ref __Native @ref)
        {
            @ref.Name = ( this.Name == null )?IntPtr.Zero : Utilities.StringToHGlobalAnsi(this.Name);
            @ref.Semantic = ( this.Semantic == null )?IntPtr.Zero : Utilities.StringToHGlobalAnsi(this.Semantic);
            @ref.Flags = this.Flags;
            @ref.AnnotationCount = this.AnnotationCount;
            @ref.BufferOffset = this.BufferOffset;
            @ref.ExplicitBindPoint = this.ExplicitBindPoint;
		
		}
    }
    
    /// <summary>	
    /// <p>Defines font attributes.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>The compiler setting also determines the structure type. If Unicode is defined, the <see cref="SharpDX.Direct3D10.FontDescription"/> structure type resolves to a <see cref="SharpDX.Direct3D10.FontDescription"/>; otherwise the structure type resolves to a D3DX10_FONT_DESCA.</p><p>Possible values of the above members are given in the GDI <see cref="SharpDX.DirectWrite.GdiInterop.LogFont"/> structure.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_FONT_DESCW']/*"/>	
    /// <msdn-id>bb172693</msdn-id>	
    /// <unmanaged>D3DX10_FONT_DESCW</unmanaged>	
    /// <unmanaged-short>D3DX10_FONT_DESCW</unmanaged-short>	
    public  partial struct FontDescription {	
        
        /// <summary>	
        /// <dd> <p>Height, in logical units, of the font's character cell or character.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_FONT_DESCW::Height']/*"/>	
        /// <msdn-id>bb172693</msdn-id>	
        /// <unmanaged>int Height</unmanaged>	
        /// <unmanaged-short>int Height</unmanaged-short>	
        public int Height;
        
        /// <summary>	
        /// <dd> <p>Width, in logical units, of characters in the font.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_FONT_DESCW::Width']/*"/>	
        /// <msdn-id>bb172693</msdn-id>	
        /// <unmanaged>unsigned int Width</unmanaged>	
        /// <unmanaged-short>unsigned int Width</unmanaged-short>	
        public int Width;
        
        /// <summary>	
        /// <dd> <p>Weight of the font in the range from 0 through 1000.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_FONT_DESCW::Weight']/*"/>	
        /// <msdn-id>bb172693</msdn-id>	
        /// <unmanaged>D3DX10_FONT_WEIGHT Weight</unmanaged>	
        /// <unmanaged-short>D3DX10_FONT_WEIGHT Weight</unmanaged-short>	
        public SharpDX.Direct3D10.FontWeight Weight;
        
        /// <summary>	
        /// <dd> <p>Number of mipmap levels requested. If this value is zero or D3DX_DEFAULT, a complete mipmap chain is created. If the value is 1, the texture space is mapped identically to the screen space.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_FONT_DESCW::MipLevels']/*"/>	
        /// <msdn-id>bb172693</msdn-id>	
        /// <unmanaged>unsigned int MipLevels</unmanaged>	
        /// <unmanaged-short>unsigned int MipLevels</unmanaged-short>	
        public int MipLevels;
        
        /// <summary>	
        /// <dd> <p>Set to <strong>TRUE</strong> for an Italic font.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_FONT_DESCW::Italic']/*"/>	
        /// <msdn-id>bb172693</msdn-id>	
        /// <unmanaged>BOOL Italic</unmanaged>	
        /// <unmanaged-short>BOOL Italic</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawBool Italic;
        
        /// <summary>	
        /// <dd> <p>Character set.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_FONT_DESCW::CharSet']/*"/>	
        /// <msdn-id>bb172693</msdn-id>	
        /// <unmanaged>D3DX10_FONT_CHARSET CharSet</unmanaged>	
        /// <unmanaged-short>D3DX10_FONT_CHARSET CharSet</unmanaged-short>	
        public SharpDX.Direct3D10.FontCharacterSet CharacterSet;
        
        /// <summary>	
        /// <dd> <p>Output precision. The output precision defines how closely the output must match the requested font height, width, character orientation, escapement, pitch, and font type.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_FONT_DESCW::OutputPrecision']/*"/>	
        /// <msdn-id>bb172693</msdn-id>	
        /// <unmanaged>D3DX10_FONT_PRECISION OutputPrecision</unmanaged>	
        /// <unmanaged-short>D3DX10_FONT_PRECISION OutputPrecision</unmanaged-short>	
        public SharpDX.Direct3D10.FontPrecision OutputPrecision;
        
        /// <summary>	
        /// <dd> <p>Output quality.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_FONT_DESCW::Quality']/*"/>	
        /// <msdn-id>bb172693</msdn-id>	
        /// <unmanaged>D3DX10_FONT_QUALITY Quality</unmanaged>	
        /// <unmanaged-short>D3DX10_FONT_QUALITY Quality</unmanaged-short>	
        public SharpDX.Direct3D10.FontQuality Quality;
        
        /// <summary>	
        /// <dd> <p>Pitch and family of the font.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_FONT_DESCW::PitchAndFamily']/*"/>	
        /// <msdn-id>bb172693</msdn-id>	
        /// <unmanaged>D3DX10_FONT_PITCHFAMILY PitchAndFamily</unmanaged>	
        /// <unmanaged-short>D3DX10_FONT_PITCHFAMILY PitchAndFamily</unmanaged-short>	
        public SharpDX.Direct3D10.FontPitchAndFamily PitchAndFamily;
        
        /// <summary>	
        /// <dd> <p>A <c>null</c>-terminated string that specifies the typeface name of the font. The length of the string must not exceed 32 characters, including the terminating <strong><c>null</c></strong> character. If FaceName is an empty string, the first font that matches the other specified attributes will be used. If the compiler settings require Unicode, the data type TCHAR resolves to WCHAR; otherwise, the data type resolves to CHAR. See Remarks.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_FONT_DESCW::FaceName']/*"/>	
        /// <msdn-id>bb172693</msdn-id>	
        /// <unmanaged>wchar_t FaceName[32]</unmanaged>	
        /// <unmanaged-short>wchar_t FaceName</unmanaged-short>	
        public string FaceName;

        // Internal native struct used for marshalling
        [StructLayout(LayoutKind.Sequential)]
        internal partial struct __Native {	
            public int Height;
            public int Width;
            public SharpDX.Direct3D10.FontWeight Weight;
            public int MipLevels;
            public SharpDX.Mathematics.Interop.RawBool Italic;
            public SharpDX.Direct3D10.FontCharacterSet CharacterSet;
            public SharpDX.Direct3D10.FontPrecision OutputPrecision;
            public SharpDX.Direct3D10.FontQuality Quality;
            public SharpDX.Direct3D10.FontPitchAndFamily PitchAndFamily;
            public char FaceName;
            char __FaceName1;
            char __FaceName2;
            char __FaceName3;
            char __FaceName4;
            char __FaceName5;
            char __FaceName6;
            char __FaceName7;
            char __FaceName8;
            char __FaceName9;
            char __FaceName10;
            char __FaceName11;
            char __FaceName12;
            char __FaceName13;
            char __FaceName14;
            char __FaceName15;
            char __FaceName16;
            char __FaceName17;
            char __FaceName18;
            char __FaceName19;
            char __FaceName20;
            char __FaceName21;
            char __FaceName22;
            char __FaceName23;
            char __FaceName24;
            char __FaceName25;
            char __FaceName26;
            char __FaceName27;
            char __FaceName28;
            char __FaceName29;
            char __FaceName30;
            char __FaceName31;
		    // Method to free unmanaged allocation
            internal unsafe void __MarshalFree()
            {   
            }
        }
		
		// Method to free unmanaged allocation
        internal unsafe void __MarshalFree(ref __Native @ref)
        {   
            @ref.__MarshalFree();
        }
		
		// Method to marshal from native to managed struct
        internal unsafe void __MarshalFrom(ref __Native @ref)
        {            
            this.Height = @ref.Height;
            this.Width = @ref.Width;
            this.Weight = @ref.Weight;
            this.MipLevels = @ref.MipLevels;
            this.Italic = @ref.Italic;
            this.CharacterSet = @ref.CharacterSet;
            this.OutputPrecision = @ref.OutputPrecision;
            this.Quality = @ref.Quality;
            this.PitchAndFamily = @ref.PitchAndFamily;
            fixed (char* __ptr = &@ref.FaceName) this.FaceName = SharpDX.Utilities.PtrToStringUni((IntPtr)__ptr, 32);
        }
        // Method to marshal from managed struct tot native
        internal unsafe void __MarshalTo(ref __Native @ref)
        {
            @ref.Height = this.Height;
            @ref.Width = this.Width;
            @ref.Weight = this.Weight;
            @ref.MipLevels = this.MipLevels;
            @ref.Italic = this.Italic;
            @ref.CharacterSet = this.CharacterSet;
            @ref.OutputPrecision = this.OutputPrecision;
            @ref.Quality = this.Quality;
            @ref.PitchAndFamily = this.PitchAndFamily;
            fixed (char* __psrc = this.FaceName) fixed (char* __ptr = &@ref.FaceName) Utilities.CopyMemory((IntPtr)__ptr, (IntPtr)__psrc, FaceName.Length * 2);
		
		}
    }
    
    /// <summary>	
    /// <p>Returns a description of the original contents of an image file.</p>	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_IMAGE_INFO']/*"/>	
    /// <msdn-id>bb172695</msdn-id>	
    /// <unmanaged>D3DX10_IMAGE_INFO</unmanaged>	
    /// <unmanaged-short>D3DX10_IMAGE_INFO</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct ImageInformation {	
        
        /// <summary>	
        /// <dd> <p>Width of original image in pixels.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_IMAGE_INFO::Width']/*"/>	
        /// <msdn-id>bb172695</msdn-id>	
        /// <unmanaged>unsigned int Width</unmanaged>	
        /// <unmanaged-short>unsigned int Width</unmanaged-short>	
        public int Width;
        
        /// <summary>	
        /// <dd> <p>Height of original image in pixels.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_IMAGE_INFO::Height']/*"/>	
        /// <msdn-id>bb172695</msdn-id>	
        /// <unmanaged>unsigned int Height</unmanaged>	
        /// <unmanaged-short>unsigned int Height</unmanaged-short>	
        public int Height;
        
        /// <summary>	
        /// <dd> <p>Depth of original image in pixels.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_IMAGE_INFO::Depth']/*"/>	
        /// <msdn-id>bb172695</msdn-id>	
        /// <unmanaged>unsigned int Depth</unmanaged>	
        /// <unmanaged-short>unsigned int Depth</unmanaged-short>	
        public int Depth;
        
        /// <summary>	
        /// <dd> <p>Size of the texture array. <em>ArraySize</em> will be 1 for a single image.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_IMAGE_INFO::ArraySize']/*"/>	
        /// <msdn-id>bb172695</msdn-id>	
        /// <unmanaged>unsigned int ArraySize</unmanaged>	
        /// <unmanaged-short>unsigned int ArraySize</unmanaged-short>	
        public int ArraySize;
        
        /// <summary>	
        /// <dd> <p>Number of mipmap levels in original image.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_IMAGE_INFO::MipLevels']/*"/>	
        /// <msdn-id>bb172695</msdn-id>	
        /// <unmanaged>unsigned int MipLevels</unmanaged>	
        /// <unmanaged-short>unsigned int MipLevels</unmanaged-short>	
        public int MipLevels;
        
        /// <summary>	
        /// <dd> <p>Miscellaneous resource properties (see <strong><see cref="SharpDX.Direct3D10.ResourceOptionFlags"/></strong>).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_IMAGE_INFO::MiscFlags']/*"/>	
        /// <msdn-id>bb172695</msdn-id>	
        /// <unmanaged>D3D10_RESOURCE_MISC_FLAG MiscFlags</unmanaged>	
        /// <unmanaged-short>D3D10_RESOURCE_MISC_FLAG MiscFlags</unmanaged-short>	
        public SharpDX.Direct3D10.ResourceOptionFlags OptionFlags;
        
        /// <summary>	
        /// <dd> <p>A value from the <strong><see cref="SharpDX.DXGI.Format"/></strong> enumerated type that most closely describes the data in the original image.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_IMAGE_INFO::Format']/*"/>	
        /// <msdn-id>bb172695</msdn-id>	
        /// <unmanaged>DXGI_FORMAT Format</unmanaged>	
        /// <unmanaged-short>DXGI_FORMAT Format</unmanaged-short>	
        public SharpDX.DXGI.Format Format;
        
        /// <summary>	
        /// <dd> <p>Represents the type of the texture stored in the file. See <strong><see cref="SharpDX.Direct3D10.ResourceDimension"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_IMAGE_INFO::ResourceDimension']/*"/>	
        /// <msdn-id>bb172695</msdn-id>	
        /// <unmanaged>D3D10_RESOURCE_DIMENSION ResourceDimension</unmanaged>	
        /// <unmanaged-short>D3D10_RESOURCE_DIMENSION ResourceDimension</unmanaged-short>	
        public SharpDX.Direct3D10.ResourceDimension ResourceDimension;
        
        /// <summary>	
        /// <dd> <p>Represents the format of the image file.  See <strong><see cref="SharpDX.Direct3D10.ImageFileFormat"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_IMAGE_INFO::ImageFileFormat']/*"/>	
        /// <msdn-id>bb172695</msdn-id>	
        /// <unmanaged>D3DX10_IMAGE_FILE_FORMAT ImageFileFormat</unmanaged>	
        /// <unmanaged-short>D3DX10_IMAGE_FILE_FORMAT ImageFileFormat</unmanaged-short>	
        public SharpDX.Direct3D10.ImageFileFormat ImageFileFormat;
    }
    
    /// <summary>	
    /// <p>Optionally provide information to texture loader APIs to control how textures get loaded. A value of D3DX10_DEFAULT for any of these parameters will cause D3DX to automatically use the value from the source file.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>When initializing the structure, you may set any member to D3DX10_DEFAULT and D3DX will initialize it with a default value from the source texture when the texture is loaded.</p><p>This structure can be used by APIs that:</p><ul> <li>Create resources, such as <strong><see cref="SharpDX.Direct3D10.D3DX10.CreateTextureFromFile"/></strong> and <strong><see cref="SharpDX.Direct3D10.D3DX10.CreateShaderResourceViewFromFile"/></strong>.</li> <li>Create data processors, such as <strong>D3DX10CreateAsyncTextureInfoProcessor</strong> or	
    /// <strong>D3DX10CreateAsyncShaderResourceViewProcessor</strong>.</li> </ul>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_IMAGE_LOAD_INFO']/*"/>	
    /// <msdn-id>bb172696</msdn-id>	
    /// <unmanaged>D3DX10_IMAGE_LOAD_INFO</unmanaged>	
    /// <unmanaged-short>D3DX10_IMAGE_LOAD_INFO</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct ImageLoadInformation {	
        
        /// <summary>	
        /// <dd> <p>The target width of the texture. If the actual width of the texture is larger or smaller than this value then the texture will be scaled up or down to fit this target width.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_IMAGE_LOAD_INFO::Width']/*"/>	
        /// <msdn-id>bb172696</msdn-id>	
        /// <unmanaged>unsigned int Width</unmanaged>	
        /// <unmanaged-short>unsigned int Width</unmanaged-short>	
        public int Width;
        
        /// <summary>	
        /// <dd> <p>The target height of the texture. If the actual height of the texture is larger or smaller than this value then the texture will be scaled up or down to fit this target height.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_IMAGE_LOAD_INFO::Height']/*"/>	
        /// <msdn-id>bb172696</msdn-id>	
        /// <unmanaged>unsigned int Height</unmanaged>	
        /// <unmanaged-short>unsigned int Height</unmanaged-short>	
        public int Height;
        
        /// <summary>	
        /// <dd> <p>The depth of the texture. This only applies to volume textures.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_IMAGE_LOAD_INFO::Depth']/*"/>	
        /// <msdn-id>bb172696</msdn-id>	
        /// <unmanaged>unsigned int Depth</unmanaged>	
        /// <unmanaged-short>unsigned int Depth</unmanaged-short>	
        public int Depth;
        
        /// <summary>	
        /// <dd> <p>The highest resolution mipmap level of the texture. If this is greater than 0, then after the texture is loaded FirstMipLevel will be mapped to mipmap level 0.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_IMAGE_LOAD_INFO::FirstMipLevel']/*"/>	
        /// <msdn-id>bb172696</msdn-id>	
        /// <unmanaged>unsigned int FirstMipLevel</unmanaged>	
        /// <unmanaged-short>unsigned int FirstMipLevel</unmanaged-short>	
        public int FirstMipLevel;
        
        /// <summary>	
        /// <dd> <p>The maximum number of mipmap levels that the texture will have. Using 0 or D3DX10_DEFAULT will cause a full mipmap chain to be created.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_IMAGE_LOAD_INFO::MipLevels']/*"/>	
        /// <msdn-id>bb172696</msdn-id>	
        /// <unmanaged>unsigned int MipLevels</unmanaged>	
        /// <unmanaged-short>unsigned int MipLevels</unmanaged-short>	
        public int MipLevels;
        
        /// <summary>	
        /// <dd> <p>The way the texture resource is intended to be used. See <strong><see cref="SharpDX.Direct3D10.ResourceUsage"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_IMAGE_LOAD_INFO::Usage']/*"/>	
        /// <msdn-id>bb172696</msdn-id>	
        /// <unmanaged>D3D10_USAGE Usage</unmanaged>	
        /// <unmanaged-short>D3D10_USAGE Usage</unmanaged-short>	
        public SharpDX.Direct3D10.ResourceUsage Usage;
        
        /// <summary>	
        /// <dd> <p>The pipeline stages that the texture will be allowed to bind to. See <strong><see cref="SharpDX.Direct3D10.BindFlags"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_IMAGE_LOAD_INFO::BindFlags']/*"/>	
        /// <msdn-id>bb172696</msdn-id>	
        /// <unmanaged>D3D10_BIND_FLAG BindFlags</unmanaged>	
        /// <unmanaged-short>D3D10_BIND_FLAG BindFlags</unmanaged-short>	
        public SharpDX.Direct3D10.BindFlags BindFlags;
        
        /// <summary>	
        /// <dd> <p>The access permissions the cpu will have for the texture resource. See <strong><see cref="SharpDX.Direct3D10.CpuAccessFlags"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_IMAGE_LOAD_INFO::CpuAccessFlags']/*"/>	
        /// <msdn-id>bb172696</msdn-id>	
        /// <unmanaged>D3D10_CPU_ACCESS_FLAG CpuAccessFlags</unmanaged>	
        /// <unmanaged-short>D3D10_CPU_ACCESS_FLAG CpuAccessFlags</unmanaged-short>	
        public SharpDX.Direct3D10.CpuAccessFlags CpuAccessFlags;
        
        /// <summary>	
        /// <dd> <p>Miscellaneous resource properties (see <strong><see cref="SharpDX.Direct3D10.ResourceOptionFlags"/></strong>).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_IMAGE_LOAD_INFO::MiscFlags']/*"/>	
        /// <msdn-id>bb172696</msdn-id>	
        /// <unmanaged>D3D10_RESOURCE_MISC_FLAG MiscFlags</unmanaged>	
        /// <unmanaged-short>D3D10_RESOURCE_MISC_FLAG MiscFlags</unmanaged-short>	
        public SharpDX.Direct3D10.ResourceOptionFlags OptionFlags;
        
        /// <summary>	
        /// <dd> <p>The format the texture will be in after it is loaded. See <strong><see cref="SharpDX.DXGI.Format"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_IMAGE_LOAD_INFO::Format']/*"/>	
        /// <msdn-id>bb172696</msdn-id>	
        /// <unmanaged>DXGI_FORMAT Format</unmanaged>	
        /// <unmanaged-short>DXGI_FORMAT Format</unmanaged-short>	
        public SharpDX.DXGI.Format Format;
        
        /// <summary>	
        /// <dd> <p>Filter the texture using the specified filter (only when resampling). See <strong><see cref="SharpDX.Direct3D10.FilterFlags"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_IMAGE_LOAD_INFO::Filter']/*"/>	
        /// <msdn-id>bb172696</msdn-id>	
        /// <unmanaged>D3DX10_FILTER_FLAG Filter</unmanaged>	
        /// <unmanaged-short>D3DX10_FILTER_FLAG Filter</unmanaged-short>	
        public SharpDX.Direct3D10.FilterFlags Filter;
        
        /// <summary>	
        /// <dd> <p>Filter the texture mip levels using the specified filter (only if generating mipmaps). Valid values are <see cref="SharpDX.Direct3D10.FilterFlags.None"/>, <see cref="SharpDX.Direct3D10.FilterFlags.Point"/>, <see cref="SharpDX.Direct3D10.FilterFlags.Linear"/>, or <see cref="SharpDX.Direct3D10.FilterFlags.Triangle"/>. See <strong><see cref="SharpDX.Direct3D10.FilterFlags"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_IMAGE_LOAD_INFO::MipFilter']/*"/>	
        /// <msdn-id>bb172696</msdn-id>	
        /// <unmanaged>D3DX10_FILTER_FLAG MipFilter</unmanaged>	
        /// <unmanaged-short>D3DX10_FILTER_FLAG MipFilter</unmanaged-short>	
        public SharpDX.Direct3D10.FilterFlags MipFilter;
        
        /// <summary>	
        /// <dd> <p>Information about the original image. See <strong><see cref="SharpDX.Direct3D10.ImageInformation"/></strong>. Can be obtained with <strong><see cref="SharpDX.Direct3D10.D3DX10.GetImageInfoFromFile"/></strong>, <strong><see cref="SharpDX.Direct3D10.D3DX10.GetImageInfoFromMemory"/></strong>, or <strong><see cref="SharpDX.Direct3D10.D3DX10.GetImageInfoFromResource"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_IMAGE_LOAD_INFO::pSrcInfo']/*"/>	
        /// <msdn-id>bb172696</msdn-id>	
        /// <unmanaged>D3DX10_IMAGE_INFO* pSrcInfo</unmanaged>	
        /// <unmanaged-short>D3DX10_IMAGE_INFO pSrcInfo</unmanaged-short>	
        public System.IntPtr PSrcInfo;
    }
    
    /// <summary>	
    /// <p>Allow or deny certain types of messages to pass through a filter.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p><strong><see cref="SharpDX.Direct3D10.InfoQueueFilterDescription"/></strong> is used to define the allow list and deny list in the <strong><see cref="SharpDX.Direct3D10.InfoQueueFilter"/></strong> structure.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_INFO_QUEUE_FILTER']/*"/>	
    /// <msdn-id>bb205314</msdn-id>	
    /// <unmanaged>D3D10_INFO_QUEUE_FILTER</unmanaged>	
    /// <unmanaged-short>D3D10_INFO_QUEUE_FILTER</unmanaged-short>	
    public  partial class InfoQueueFilter {	
        
        /// <summary>	
        /// <dd> <p>Number of message categories to allow or deny.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_INFO_QUEUE_FILTER::AllowList']/*"/>	
        /// <msdn-id>bb205314</msdn-id>	
        /// <unmanaged>D3D10_INFO_QUEUE_FILTER_DESC AllowList</unmanaged>	
        /// <unmanaged-short>D3D10_INFO_QUEUE_FILTER_DESC AllowList</unmanaged-short>	
        public SharpDX.Direct3D10.InfoQueueFilterDescription AllowList;
        
        /// <summary>	
        /// <dd> <p>Array of message categories to allow or deny. Array must have at least NumCategories members (see <strong><see cref="SharpDX.Direct3D10.MessageCategory"/></strong>).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_INFO_QUEUE_FILTER::DenyList']/*"/>	
        /// <msdn-id>bb205314</msdn-id>	
        /// <unmanaged>D3D10_INFO_QUEUE_FILTER_DESC DenyList</unmanaged>	
        /// <unmanaged-short>D3D10_INFO_QUEUE_FILTER_DESC DenyList</unmanaged-short>	
        public SharpDX.Direct3D10.InfoQueueFilterDescription DenyList;

        // Internal native struct used for marshalling
        [StructLayout(LayoutKind.Sequential)]
        internal partial struct __Native {	
            public SharpDX.Direct3D10.InfoQueueFilterDescription.__Native AllowList;
            public SharpDX.Direct3D10.InfoQueueFilterDescription.__Native DenyList;
		    // Method to free unmanaged allocation
            internal unsafe void __MarshalFree()
            {   
                this.AllowList.__MarshalFree();
                this.DenyList.__MarshalFree();
            }
        }
		
		// Method to free unmanaged allocation
        internal unsafe void __MarshalFree(ref __Native @ref)
        {   
            @ref.__MarshalFree();
        }
		
		// Method to marshal from native to managed struct
        internal unsafe void __MarshalFrom(ref __Native @ref)
        {            
            this.AllowList = new SharpDX.Direct3D10.InfoQueueFilterDescription();
			this.AllowList.__MarshalFrom(ref @ref.AllowList);
            this.DenyList = new SharpDX.Direct3D10.InfoQueueFilterDescription();
			this.DenyList.__MarshalFrom(ref @ref.DenyList);
        }
        // Method to marshal from managed struct tot native
        internal unsafe void __MarshalTo(ref __Native @ref)
        {
			@ref.AllowList = new SharpDX.Direct3D10.InfoQueueFilterDescription.__Native();
						
						if (this.AllowList != null) 						
                this.AllowList.__MarshalTo(ref @ref.AllowList);
			@ref.DenyList = new SharpDX.Direct3D10.InfoQueueFilterDescription.__Native();
						
						if (this.DenyList != null) 						
                this.DenyList.__MarshalTo(ref @ref.DenyList);
		
		}
    }
    
    /// <summary>	
    /// <p>Allow or deny certain types of messages to pass through a filter.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p><strong><see cref="SharpDX.Direct3D10.InfoQueueFilterDescription"/></strong> is used to define the allow list and deny list in the <strong><see cref="SharpDX.Direct3D10.InfoQueueFilter"/></strong> structure.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_INFO_QUEUE_FILTER_DESC']/*"/>	
    /// <msdn-id>bb205314</msdn-id>	
    /// <unmanaged>D3D10_INFO_QUEUE_FILTER_DESC</unmanaged>	
    /// <unmanaged-short>D3D10_INFO_QUEUE_FILTER_DESC</unmanaged-short>	
    public  partial class InfoQueueFilterDescription {	
        
        /// <summary>	
        /// <dd> <p>Number of message categories to allow or deny.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_INFO_QUEUE_FILTER_DESC::NumCategories']/*"/>	
        /// <msdn-id>bb205314</msdn-id>	
        /// <unmanaged>unsigned int NumCategories</unmanaged>	
        /// <unmanaged-short>unsigned int NumCategories</unmanaged-short>	
        internal int CategorieCount;
        
        /// <summary>	
        /// <dd> <p>Array of message categories to allow or deny. Array must have at least NumCategories members (see <strong><see cref="SharpDX.Direct3D10.MessageCategory"/></strong>).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_INFO_QUEUE_FILTER_DESC::pCategoryList']/*"/>	
        /// <msdn-id>bb205314</msdn-id>	
        /// <unmanaged>D3D10_MESSAGE_CATEGORY* pCategoryList</unmanaged>	
        /// <unmanaged-short>D3D10_MESSAGE_CATEGORY pCategoryList</unmanaged-short>	
        internal System.IntPtr PCategoryList;
        
        /// <summary>	
        /// <dd> <p>Number of message severity levels to allow or deny.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_INFO_QUEUE_FILTER_DESC::NumSeverities']/*"/>	
        /// <msdn-id>bb205314</msdn-id>	
        /// <unmanaged>unsigned int NumSeverities</unmanaged>	
        /// <unmanaged-short>unsigned int NumSeverities</unmanaged-short>	
        internal int SeveritieCount;
        
        /// <summary>	
        /// <dd> <p>Array of message severity levels to allow or deny. Array must have at least NumSeverities members (see <strong><see cref="SharpDX.Direct3D10.MessageSeverity"/></strong>).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_INFO_QUEUE_FILTER_DESC::pSeverityList']/*"/>	
        /// <msdn-id>bb205314</msdn-id>	
        /// <unmanaged>D3D10_MESSAGE_SEVERITY* pSeverityList</unmanaged>	
        /// <unmanaged-short>D3D10_MESSAGE_SEVERITY pSeverityList</unmanaged-short>	
        internal System.IntPtr PSeverityList;
        
        /// <summary>	
        /// <dd> <p>Number of message IDs to allow or deny.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_INFO_QUEUE_FILTER_DESC::NumIDs']/*"/>	
        /// <msdn-id>bb205314</msdn-id>	
        /// <unmanaged>unsigned int NumIDs</unmanaged>	
        /// <unmanaged-short>unsigned int NumIDs</unmanaged-short>	
        internal int IDCount;
        
        /// <summary>	
        /// <dd> <p>Array of message IDs to allow or deny. Array must have at least NumIDs members (see <strong><see cref="SharpDX.Direct3D10.MessageId"/></strong>).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_INFO_QUEUE_FILTER_DESC::pIDList']/*"/>	
        /// <msdn-id>bb205314</msdn-id>	
        /// <unmanaged>D3D10_MESSAGE_ID* pIDList</unmanaged>	
        /// <unmanaged-short>D3D10_MESSAGE_ID pIDList</unmanaged-short>	
        internal System.IntPtr PIDList;
    }
    
    /// <summary>	
    /// <p>A description of a single element for the input-assembler stage.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>An input-layout object contains an array of structures, each structure defines one element being read from an input slot. Create an input-layout object by calling <strong><see cref="SharpDX.Direct3D10.Device.CreateInputLayout"/></strong>. For an example, see Create an input-layout object.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_INPUT_ELEMENT_DESC']/*"/>	
    /// <msdn-id>bb205316</msdn-id>	
    /// <unmanaged>D3D10_INPUT_ELEMENT_DESC</unmanaged>	
    /// <unmanaged-short>D3D10_INPUT_ELEMENT_DESC</unmanaged-short>	
    public  partial struct InputElement {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_INPUT_ELEMENT_DESC::SemanticName']/*"/>	
        /// <msdn-id>bb205316</msdn-id>	
        /// <unmanaged>const char* SemanticName</unmanaged>	
        /// <unmanaged-short>char SemanticName</unmanaged-short>	
        public string SemanticName;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_INPUT_ELEMENT_DESC::SemanticIndex']/*"/>	
        /// <msdn-id>bb205316</msdn-id>	
        /// <unmanaged>unsigned int SemanticIndex</unmanaged>	
        /// <unmanaged-short>unsigned int SemanticIndex</unmanaged-short>	
        public int SemanticIndex;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_INPUT_ELEMENT_DESC::Format']/*"/>	
        /// <msdn-id>bb205316</msdn-id>	
        /// <unmanaged>DXGI_FORMAT Format</unmanaged>	
        /// <unmanaged-short>DXGI_FORMAT Format</unmanaged-short>	
        public SharpDX.DXGI.Format Format;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_INPUT_ELEMENT_DESC::InputSlot']/*"/>	
        /// <msdn-id>bb205316</msdn-id>	
        /// <unmanaged>unsigned int InputSlot</unmanaged>	
        /// <unmanaged-short>unsigned int InputSlot</unmanaged-short>	
        public int Slot;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_INPUT_ELEMENT_DESC::AlignedByteOffset']/*"/>	
        /// <msdn-id>bb205316</msdn-id>	
        /// <unmanaged>unsigned int AlignedByteOffset</unmanaged>	
        /// <unmanaged-short>unsigned int AlignedByteOffset</unmanaged-short>	
        public int AlignedByteOffset;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_INPUT_ELEMENT_DESC::InputSlotClass']/*"/>	
        /// <msdn-id>bb205316</msdn-id>	
        /// <unmanaged>D3D10_INPUT_CLASSIFICATION InputSlotClass</unmanaged>	
        /// <unmanaged-short>D3D10_INPUT_CLASSIFICATION InputSlotClass</unmanaged-short>	
        public SharpDX.Direct3D10.InputClassification Classification;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_INPUT_ELEMENT_DESC::InstanceDataStepRate']/*"/>	
        /// <msdn-id>bb205316</msdn-id>	
        /// <unmanaged>unsigned int InstanceDataStepRate</unmanaged>	
        /// <unmanaged-short>unsigned int InstanceDataStepRate</unmanaged-short>	
        public int InstanceDataStepRate;

        // Internal native struct used for marshalling
        [StructLayout(LayoutKind.Sequential)]
        internal partial struct __Native {	
            public System.IntPtr SemanticName;
            public int SemanticIndex;
            public SharpDX.DXGI.Format Format;
            public int Slot;
            public int AlignedByteOffset;
            public SharpDX.Direct3D10.InputClassification Classification;
            public int InstanceDataStepRate;
		    // Method to free unmanaged allocation
            internal unsafe void __MarshalFree()
            {   
                if (this.SemanticName != IntPtr.Zero)
                    Marshal.FreeHGlobal(this.SemanticName);		
            }
        }
		
		// Method to free unmanaged allocation
        internal unsafe void __MarshalFree(ref __Native @ref)
        {   
            @ref.__MarshalFree();
        }
		
		// Method to marshal from native to managed struct
        internal unsafe void __MarshalFrom(ref __Native @ref)
        {            
            this.SemanticName = ( @ref.SemanticName == IntPtr.Zero )?null:Marshal.PtrToStringAnsi(@ref.SemanticName);
            this.SemanticIndex = @ref.SemanticIndex;
            this.Format = @ref.Format;
            this.Slot = @ref.Slot;
            this.AlignedByteOffset = @ref.AlignedByteOffset;
            this.Classification = @ref.Classification;
            this.InstanceDataStepRate = @ref.InstanceDataStepRate;
        }
        // Method to marshal from managed struct tot native
        internal unsafe void __MarshalTo(ref __Native @ref)
        {
            @ref.SemanticName = ( this.SemanticName == null )?IntPtr.Zero : Utilities.StringToHGlobalAnsi(this.SemanticName);
            @ref.SemanticIndex = this.SemanticIndex;
            @ref.Format = this.Format;
            @ref.Slot = this.Slot;
            @ref.AlignedByteOffset = this.AlignedByteOffset;
            @ref.Classification = this.Classification;
            @ref.InstanceDataStepRate = this.InstanceDataStepRate;
		
		}
    }
    
    /// <summary>	
    /// <p>Stores an attribute table entry.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>An attribute table is used to identify areas of the mesh that need to be drawn with different textures, render states, materials, and so on. In addition, the application can use the attribute table to hide portions of a mesh by not drawing a given attribute identifier (AttribId) when drawing the frame.</p><p>The LPD3DX_ATTRIBUTE_RANGE type is defined as a reference to the D3DX_ATTRIBUTE_RANGE structure. </p><pre> typedef D3DX_ATTRIBUTE_RANGE* LPD3DX_ATTRIBUTE_RANGE;	
    /// </pre>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_ATTRIBUTE_RANGE']/*"/>	
    /// <msdn-id>bb172688</msdn-id>	
    /// <unmanaged>D3DX10_ATTRIBUTE_RANGE</unmanaged>	
    /// <unmanaged-short>D3DX10_ATTRIBUTE_RANGE</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct MeshAttributeRange {	
        
        /// <summary>	
        /// <dd> <p>Attribute table identifier.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_ATTRIBUTE_RANGE::AttribId']/*"/>	
        /// <msdn-id>bb172688</msdn-id>	
        /// <unmanaged>unsigned int AttribId</unmanaged>	
        /// <unmanaged-short>unsigned int AttribId</unmanaged-short>	
        public int Id;
        
        /// <summary>	
        /// <dd> <p>Starting face.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_ATTRIBUTE_RANGE::FaceStart']/*"/>	
        /// <msdn-id>bb172688</msdn-id>	
        /// <unmanaged>unsigned int FaceStart</unmanaged>	
        /// <unmanaged-short>unsigned int FaceStart</unmanaged-short>	
        public int FaceStart;
        
        /// <summary>	
        /// <dd> <p>Face count.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_ATTRIBUTE_RANGE::FaceCount']/*"/>	
        /// <msdn-id>bb172688</msdn-id>	
        /// <unmanaged>unsigned int FaceCount</unmanaged>	
        /// <unmanaged-short>unsigned int FaceCount</unmanaged-short>	
        public int FaceCount;
        
        /// <summary>	
        /// <dd> <p>Starting vertex.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_ATTRIBUTE_RANGE::VertexStart']/*"/>	
        /// <msdn-id>bb172688</msdn-id>	
        /// <unmanaged>unsigned int VertexStart</unmanaged>	
        /// <unmanaged-short>unsigned int VertexStart</unmanaged-short>	
        public int VertexStart;
        
        /// <summary>	
        /// <dd> <p>Vertex count.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_ATTRIBUTE_RANGE::VertexCount']/*"/>	
        /// <msdn-id>bb172688</msdn-id>	
        /// <unmanaged>unsigned int VertexCount</unmanaged>	
        /// <unmanaged-short>unsigned int VertexCount</unmanaged-short>	
        public int VertexCount;
    }
    
    /// <summary>	
    /// <p>Specifies mesh weight attributes.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>This structure describes how a simplification operation will consider vertex data when calculating relative costs between collapsing edges. For example, if the Normal field is 0.0, the simplification operation will ignore the vertex normal component when calculating the error for the collapse. However, if the Normal field is 1.0, the simplification operation will use the vertex normal component. If the Normal field is 2.0, double the amount of errors; if the Normal field is 4.0, then quadruple the number of errors, and so on.</p><p>The LPD3DX_ATTRIBUTE_WEIGHTS type is defined as a reference to the D3DX_ATTRIBUTE_WEIGHTS structure.</p><pre> typedef D3DX_ATTRIBUTE_WEIGHTS* LPD3DX_ATTRIBUTE_WEIGHTS;	
    /// </pre>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_ATTRIBUTE_WEIGHTS']/*"/>	
    /// <msdn-id>bb172689</msdn-id>	
    /// <unmanaged>D3DX10_ATTRIBUTE_WEIGHTS</unmanaged>	
    /// <unmanaged-short>D3DX10_ATTRIBUTE_WEIGHTS</unmanaged-short>	
    public  partial struct MeshAttributeWeights {	
        
        /// <summary>	
        /// <dd> <p>Position.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_ATTRIBUTE_WEIGHTS::Position']/*"/>	
        /// <msdn-id>bb172689</msdn-id>	
        /// <unmanaged>float Position</unmanaged>	
        /// <unmanaged-short>float Position</unmanaged-short>	
        public float Position;
        
        /// <summary>	
        /// <dd> <p>Blend weight.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_ATTRIBUTE_WEIGHTS::Boundary']/*"/>	
        /// <msdn-id>bb172689</msdn-id>	
        /// <unmanaged>float Boundary</unmanaged>	
        /// <unmanaged-short>float Boundary</unmanaged-short>	
        public float Boundary;
        
        /// <summary>	
        /// <dd> <p>Normal.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_ATTRIBUTE_WEIGHTS::Normal']/*"/>	
        /// <msdn-id>bb172689</msdn-id>	
        /// <unmanaged>float Normal</unmanaged>	
        /// <unmanaged-short>float Normal</unmanaged-short>	
        public float Normal;
        
        /// <summary>	
        /// <dd> <p>Diffuse lighting value.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_ATTRIBUTE_WEIGHTS::Diffuse']/*"/>	
        /// <msdn-id>bb172689</msdn-id>	
        /// <unmanaged>float Diffuse</unmanaged>	
        /// <unmanaged-short>float Diffuse</unmanaged-short>	
        public float Diffuse;
        
        /// <summary>	
        /// <dd> <p>Specular lighting value.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_ATTRIBUTE_WEIGHTS::Specular']/*"/>	
        /// <msdn-id>bb172689</msdn-id>	
        /// <unmanaged>float Specular</unmanaged>	
        /// <unmanaged-short>float Specular</unmanaged-short>	
        public float Specular;
        
        /// <summary>	
        /// <dd> <p>Eight texture coordinates.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_ATTRIBUTE_WEIGHTS::Texcoord']/*"/>	
        /// <msdn-id>bb172689</msdn-id>	
        /// <unmanaged>float Texcoord[8]</unmanaged>	
        /// <unmanaged-short>float Texcoord</unmanaged-short>	
        public float[] Texcoord { 
            get { return _Texcoord ?? (_Texcoord = new float[8]);}
        }
        internal float[] _Texcoord;
        
        /// <summary>	
        /// <dd> <p>Tangent.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_ATTRIBUTE_WEIGHTS::Tangent']/*"/>	
        /// <msdn-id>bb172689</msdn-id>	
        /// <unmanaged>float Tangent</unmanaged>	
        /// <unmanaged-short>float Tangent</unmanaged-short>	
        public float Tangent;
        
        /// <summary>	
        /// <dd> <p>Binormal.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_ATTRIBUTE_WEIGHTS::Binormal']/*"/>	
        /// <msdn-id>bb172689</msdn-id>	
        /// <unmanaged>float Binormal</unmanaged>	
        /// <unmanaged-short>float Binormal</unmanaged-short>	
        public float Binormal;

        // Internal native struct used for marshalling
        [StructLayout(LayoutKind.Sequential)]
        internal partial struct __Native {	
            public float Position;
            public float Boundary;
            public float Normal;
            public float Diffuse;
            public float Specular;
            public float Texcoord;
            float __Texcoord1;
            float __Texcoord2;
            float __Texcoord3;
            float __Texcoord4;
            float __Texcoord5;
            float __Texcoord6;
            float __Texcoord7;
            public float Tangent;
            public float Binormal;
		    // Method to free unmanaged allocation
            internal unsafe void __MarshalFree()
            {   
            }
        }
		
		// Method to free unmanaged allocation
        internal unsafe void __MarshalFree(ref __Native @ref)
        {   
            @ref.__MarshalFree();
        }
		
		// Method to marshal from native to managed struct
        internal unsafe void __MarshalFrom(ref __Native @ref)
        {            
            this.Position = @ref.Position;
            this.Boundary = @ref.Boundary;
            this.Normal = @ref.Normal;
            this.Diffuse = @ref.Diffuse;
            this.Specular = @ref.Specular;
            fixed (void* __to = &this.Texcoord[0]) fixed (void* __from = &@ref.Texcoord) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 8*sizeof ( float));
            this.Tangent = @ref.Tangent;
            this.Binormal = @ref.Binormal;
        }
    }
    
    /// <summary>	
    /// <p>Categories of debug messages. This will identify the category of a message when retrieving a message with <strong><see cref="SharpDX.Direct3D10.InfoQueue.GetMessage"/></strong> and when adding a message with <strong><see cref="SharpDX.Direct3D10.InfoQueue.AddMessage"/></strong>. When creating an <strong>info queue filter</strong>, these values can be used to allow or deny any categories of messages to pass through the storage and retrieval filters.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>This is part of the Information Queue feature. See <strong><see cref="SharpDX.Direct3D10.InfoQueue"/> Interface</strong>.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_MESSAGE']/*"/>	
    /// <msdn-id>bb205323</msdn-id>	
    /// <unmanaged>D3D10_MESSAGE</unmanaged>	
    /// <unmanaged-short>D3D10_MESSAGE</unmanaged-short>	
    public  partial struct Message {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_MESSAGE::Category']/*"/>	
        /// <msdn-id>bb205323</msdn-id>	
        /// <unmanaged>D3D10_MESSAGE_CATEGORY Category</unmanaged>	
        /// <unmanaged-short>D3D10_MESSAGE_CATEGORY Category</unmanaged-short>	
        public SharpDX.Direct3D10.MessageCategory Category;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_MESSAGE::Severity']/*"/>	
        /// <msdn-id>bb205323</msdn-id>	
        /// <unmanaged>D3D10_MESSAGE_SEVERITY Severity</unmanaged>	
        /// <unmanaged-short>D3D10_MESSAGE_SEVERITY Severity</unmanaged-short>	
        public SharpDX.Direct3D10.MessageSeverity Severity;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_MESSAGE::ID']/*"/>	
        /// <msdn-id>bb205323</msdn-id>	
        /// <unmanaged>D3D10_MESSAGE_ID ID</unmanaged>	
        /// <unmanaged-short>D3D10_MESSAGE_ID ID</unmanaged-short>	
        public SharpDX.Direct3D10.MessageId Id;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_MESSAGE::pDescription']/*"/>	
        /// <msdn-id>bb205323</msdn-id>	
        /// <unmanaged>const char* pDescription</unmanaged>	
        /// <unmanaged-short>char pDescription</unmanaged-short>	
        public string Description;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_MESSAGE::DescriptionByteLength']/*"/>	
        /// <msdn-id>bb205323</msdn-id>	
        /// <unmanaged>SIZE_T DescriptionByteLength</unmanaged>	
        /// <unmanaged-short>SIZE_T DescriptionByteLength</unmanaged-short>	
        internal SharpDX.PointerSize DescriptionByteLength;
    }
    
    /// <summary>	
    /// <p>Query information about graphics-pipeline activity in between calls to <strong><see cref="SharpDX.Direct3D10.Asynchronous.Begin"/></strong> and <strong><see cref="SharpDX.Direct3D10.Asynchronous.End"/></strong>.</p>	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_QUERY_DATA_PIPELINE_STATISTICS']/*"/>	
    /// <msdn-id>bb172402</msdn-id>	
    /// <unmanaged>D3D10_QUERY_DATA_PIPELINE_STATISTICS</unmanaged>	
    /// <unmanaged-short>D3D10_QUERY_DATA_PIPELINE_STATISTICS</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct QueryDataPipelineStatistics {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_QUERY_DATA_PIPELINE_STATISTICS::IAVertices']/*"/>	
        /// <msdn-id>bb172402</msdn-id>	
        /// <unmanaged>unsigned longlong IAVertices</unmanaged>	
        /// <unmanaged-short>unsigned longlong IAVertices</unmanaged-short>	
        public long IAVerticeCount;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_QUERY_DATA_PIPELINE_STATISTICS::IAPrimitives']/*"/>	
        /// <msdn-id>bb172402</msdn-id>	
        /// <unmanaged>unsigned longlong IAPrimitives</unmanaged>	
        /// <unmanaged-short>unsigned longlong IAPrimitives</unmanaged-short>	
        public long IAPrimitiveCount;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_QUERY_DATA_PIPELINE_STATISTICS::VSInvocations']/*"/>	
        /// <msdn-id>bb172402</msdn-id>	
        /// <unmanaged>unsigned longlong VSInvocations</unmanaged>	
        /// <unmanaged-short>unsigned longlong VSInvocations</unmanaged-short>	
        public long VSInvocationCount;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_QUERY_DATA_PIPELINE_STATISTICS::GSInvocations']/*"/>	
        /// <msdn-id>bb172402</msdn-id>	
        /// <unmanaged>unsigned longlong GSInvocations</unmanaged>	
        /// <unmanaged-short>unsigned longlong GSInvocations</unmanaged-short>	
        public long GSInvocationCount;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_QUERY_DATA_PIPELINE_STATISTICS::GSPrimitives']/*"/>	
        /// <msdn-id>bb172402</msdn-id>	
        /// <unmanaged>unsigned longlong GSPrimitives</unmanaged>	
        /// <unmanaged-short>unsigned longlong GSPrimitives</unmanaged-short>	
        public long GSPrimitiveCount;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_QUERY_DATA_PIPELINE_STATISTICS::CInvocations']/*"/>	
        /// <msdn-id>bb172402</msdn-id>	
        /// <unmanaged>unsigned longlong CInvocations</unmanaged>	
        /// <unmanaged-short>unsigned longlong CInvocations</unmanaged-short>	
        public long CInvocationCount;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_QUERY_DATA_PIPELINE_STATISTICS::CPrimitives']/*"/>	
        /// <msdn-id>bb172402</msdn-id>	
        /// <unmanaged>unsigned longlong CPrimitives</unmanaged>	
        /// <unmanaged-short>unsigned longlong CPrimitives</unmanaged-short>	
        public long CPrimitiveCount;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_QUERY_DATA_PIPELINE_STATISTICS::PSInvocations']/*"/>	
        /// <msdn-id>bb172402</msdn-id>	
        /// <unmanaged>unsigned longlong PSInvocations</unmanaged>	
        /// <unmanaged-short>unsigned longlong PSInvocations</unmanaged-short>	
        public long PSInvocationCount;
    }
    
    /// <summary>	
    /// <p>Query information about the reliability of a timestamp query.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>For a list of query types see <strong><see cref="SharpDX.Direct3D10.QueryType"/></strong>.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_QUERY_DATA_TIMESTAMP_DISJOINT']/*"/>	
    /// <msdn-id>bb172404</msdn-id>	
    /// <unmanaged>D3D10_QUERY_DATA_TIMESTAMP_DISJOINT</unmanaged>	
    /// <unmanaged-short>D3D10_QUERY_DATA_TIMESTAMP_DISJOINT</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct QueryDataTimestampDisjoint {	
        
        /// <summary>	
        /// <dd> <p>How frequently the GPU counter increments in Hz.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_QUERY_DATA_TIMESTAMP_DISJOINT::Frequency']/*"/>	
        /// <msdn-id>bb172404</msdn-id>	
        /// <unmanaged>unsigned longlong Frequency</unmanaged>	
        /// <unmanaged-short>unsigned longlong Frequency</unmanaged-short>	
        public long Frequency;
        
        /// <summary>	
        /// <dd> <p>If this is <strong>TRUE</strong>, something occurred in between the query's <strong><see cref="SharpDX.Direct3D10.Asynchronous.Begin"/></strong> and <strong><see cref="SharpDX.Direct3D10.Asynchronous.End"/></strong> calls that caused the timestamp counter to become discontinuous or disjoint, such as unplugging the AC chord on a laptop, overheating, or throttling up/down due to laptop savings events. The timestamp returned by <strong><see cref="SharpDX.Direct3D10.Asynchronous.GetData"/></strong> for a timestamp query is only reliable if Disjoint is <strong><see cref="SharpDX.Result.False"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_QUERY_DATA_TIMESTAMP_DISJOINT::Disjoint']/*"/>	
        /// <msdn-id>bb172404</msdn-id>	
        /// <unmanaged>BOOL Disjoint</unmanaged>	
        /// <unmanaged-short>BOOL Disjoint</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawBool Disjoint;
    }
    
    /// <summary>	
    /// <p>Describes a query.</p>	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_QUERY_DESC']/*"/>	
    /// <msdn-id>bb172405</msdn-id>	
    /// <unmanaged>D3D10_QUERY_DESC</unmanaged>	
    /// <unmanaged-short>D3D10_QUERY_DESC</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct QueryDescription {	
        
        /// <summary>	
        /// <dd> <p>Type of query (see <strong><see cref="SharpDX.Direct3D10.QueryType"/></strong>).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_QUERY_DESC::Query']/*"/>	
        /// <msdn-id>bb172405</msdn-id>	
        /// <unmanaged>D3D10_QUERY Query</unmanaged>	
        /// <unmanaged-short>D3D10_QUERY Query</unmanaged-short>	
        public SharpDX.Direct3D10.QueryType Type;
        
        /// <summary>	
        /// <dd> <p>Miscellaneous flags (see <strong><see cref="SharpDX.Direct3D10.QueryFlags"/></strong>).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_QUERY_DESC::MiscFlags']/*"/>	
        /// <msdn-id>bb172405</msdn-id>	
        /// <unmanaged>D3D10_QUERY_MISC_FLAG MiscFlags</unmanaged>	
        /// <unmanaged-short>D3D10_QUERY_MISC_FLAG MiscFlags</unmanaged-short>	
        public SharpDX.Direct3D10.QueryFlags Flags;
    }
    
    /// <summary>	
    /// <p>Describes the rasterizer state.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>Rasterizer state defines the behavior of the rasterizer stage. To create a rasterizer-state object, call <strong><see cref="SharpDX.Direct3D10.Device.CreateRasterizerState"/></strong>. To set rasterizer state, call <strong><see cref="SharpDX.Direct3D10.RasterizerStage.SetState"/></strong>.</p><p><strong>Note</strong>??For feature levels 9.1, 9.2, 9.3, and 10.0, if you set <strong>MultisampleEnable</strong> to <strong><see cref="SharpDX.Result.False"/></strong>, the runtime renders all points, lines, and triangles without anti-aliasing even for render targets with a sample count greater than 1. For feature level 10.1, the setting of <strong>MultisampleEnable</strong> has no effect on points and triangles with regard to MSAA and impacts only the selection of the line-rendering algorithm as shown in this table:</p><p> </p><table> <tr><th>Line-rendering algorithm</th><th><strong>MultisampleEnable</strong></th><th><strong>AntialiasedLineEnable</strong></th></tr> <tr><td>Aliased</td><td><strong><see cref="SharpDX.Result.False"/></strong></td><td><strong><see cref="SharpDX.Result.False"/></strong></td></tr> <tr><td>Alpha antialiased</td><td><strong><see cref="SharpDX.Result.False"/></strong></td><td><strong>TRUE</strong></td></tr> <tr><td>Quadrilateral</td><td><strong>TRUE</strong></td><td><strong><see cref="SharpDX.Result.False"/></strong></td></tr> <tr><td>Quadrilateral</td><td><strong>TRUE</strong></td><td><strong>TRUE</strong></td></tr> </table><p>?</p><p>The settings of the <strong>MultisampleEnable</strong> and <strong>AntialiasedLineEnable</strong> members apply only to multisample antialiasing (MSAA) render targets (that is, render targets with sample counts greater than 1). Because of the differences in feature-level behavior and as long as you aren?t performing any line drawing or don?t mind that lines render as quadrilaterals, we recommend that you always set <strong>MultisampleEnable</strong> to <strong>TRUE</strong> whenever you render on MSAA render targets.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RASTERIZER_DESC']/*"/>	
    /// <msdn-id>bb172408</msdn-id>	
    /// <unmanaged>D3D10_RASTERIZER_DESC</unmanaged>	
    /// <unmanaged-short>D3D10_RASTERIZER_DESC</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct RasterizerStateDescription {	
        
        /// <summary>	
        /// <dd> <p>A member of the <strong><see cref="SharpDX.Direct3D10.FillMode"/></strong> enumerated type that determines the fill mode to use when rendering.  The default value is <strong><see cref="SharpDX.Direct3D10.FillMode.Solid"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RASTERIZER_DESC::FillMode']/*"/>	
        /// <msdn-id>bb172408</msdn-id>	
        /// <unmanaged>D3D10_FILL_MODE FillMode</unmanaged>	
        /// <unmanaged-short>D3D10_FILL_MODE FillMode</unmanaged-short>	
        public SharpDX.Direct3D10.FillMode FillMode;
        
        /// <summary>	
        /// <dd> <p>A member of the <strong><see cref="SharpDX.Direct3D10.CullMode"/></strong> enumerated type that indicates whether triangles facing the specified direction are drawn.  The default value is <strong><see cref="SharpDX.Direct3D10.CullMode.Back"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RASTERIZER_DESC::CullMode']/*"/>	
        /// <msdn-id>bb172408</msdn-id>	
        /// <unmanaged>D3D10_CULL_MODE CullMode</unmanaged>	
        /// <unmanaged-short>D3D10_CULL_MODE CullMode</unmanaged-short>	
        public SharpDX.Direct3D10.CullMode CullMode;
        
        /// <summary>	
        /// <dd> <p>Determines if a triangle is front-facing or back-facing. If this parameter is <strong>TRUE</strong>, then a triangle is considered front-facing if its vertices are counter-clockwise on the render target, and considered back-facing if they are clockwise. If this parameter is <strong><see cref="SharpDX.Result.False"/></strong>, then the opposite is true.  The default value is <strong><see cref="SharpDX.Result.False"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RASTERIZER_DESC::FrontCounterClockwise']/*"/>	
        /// <msdn-id>bb172408</msdn-id>	
        /// <unmanaged>BOOL FrontCounterClockwise</unmanaged>	
        /// <unmanaged-short>BOOL FrontCounterClockwise</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawBool IsFrontCounterClockwise;
        
        /// <summary>	
        /// <dd> <p>Specifies the depth value added to a given pixel. The default value is 0. For info about depth bias, see Depth Bias.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RASTERIZER_DESC::DepthBias']/*"/>	
        /// <msdn-id>bb172408</msdn-id>	
        /// <unmanaged>int DepthBias</unmanaged>	
        /// <unmanaged-short>int DepthBias</unmanaged-short>	
        public int DepthBias;
        
        /// <summary>	
        /// <dd> <p>Specifies the maximum depth bias of a pixel. The default value is 0.0f. For info about depth bias, see Depth Bias.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RASTERIZER_DESC::DepthBiasClamp']/*"/>	
        /// <msdn-id>bb172408</msdn-id>	
        /// <unmanaged>float DepthBiasClamp</unmanaged>	
        /// <unmanaged-short>float DepthBiasClamp</unmanaged-short>	
        public float DepthBiasClamp;
        
        /// <summary>	
        /// <dd> <p>Specifies a scalar on a given pixel's slope. The default value is 0.0f. For info about depth bias, see Depth Bias.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RASTERIZER_DESC::SlopeScaledDepthBias']/*"/>	
        /// <msdn-id>bb172408</msdn-id>	
        /// <unmanaged>float SlopeScaledDepthBias</unmanaged>	
        /// <unmanaged-short>float SlopeScaledDepthBias</unmanaged-short>	
        public float SlopeScaledDepthBias;
        
        /// <summary>	
        /// <dd> <p>Enables or disables clipping based on distance.  The default value is <strong>TRUE</strong>.</p> <p>The hardware always performs x and y clipping of rasterized coordinates. When <strong>DepthClipEnable</strong> is set to the default value, the hardware also clips the z value (that is, the hardware performs the last step of the following algorithm).	
        /// </p> <code> 0 &lt; w	
        /// -w &lt;= x &lt;= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden)	
        /// -w &lt;= y &lt;= w (or arbitrarily wider range if implementation uses a guard band to reduce clipping burden)	
        /// 0 &lt;= z &lt;= w	
        /// </code> <p>When you set <strong>DepthClipEnable</strong> to <see cref="SharpDX.Result.False"/>, the hardware skips the z clipping (that is, the last step in the preceding algorithm). However, the hardware still performs the "0 &lt; w" clipping. When z clipping is disabled, improper depth ordering at the pixel level might result. However, when z clipping is disabled, stencil shadow implementations are simplified. In other words, you can avoid complex special-case handling for geometry that goes beyond the back clipping plane.	
        /// </p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RASTERIZER_DESC::DepthClipEnable']/*"/>	
        /// <msdn-id>bb172408</msdn-id>	
        /// <unmanaged>BOOL DepthClipEnable</unmanaged>	
        /// <unmanaged-short>BOOL DepthClipEnable</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawBool IsDepthClipEnabled;
        
        /// <summary>	
        /// <dd> <p>Enable or disables scissor-rectangle culling. All pixels outside an active scissor rectangle are culled. The default value is <strong><see cref="SharpDX.Result.False"/></strong>. For more information, see Set the Scissor Rectangle.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RASTERIZER_DESC::ScissorEnable']/*"/>	
        /// <msdn-id>bb172408</msdn-id>	
        /// <unmanaged>BOOL ScissorEnable</unmanaged>	
        /// <unmanaged-short>BOOL ScissorEnable</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawBool IsScissorEnabled;
        
        /// <summary>	
        /// <dd> <p>Specifies whether to use the quadrilateral or alpha line anti-aliasing algorithm on multisample antialiasing (MSAA) render targets. The default value is <strong><see cref="SharpDX.Result.False"/></strong>. Set to <strong>TRUE</strong> to use the quadrilateral line anti-aliasing algorithm and to <strong><see cref="SharpDX.Result.False"/></strong> to use the alpha line anti-aliasing algorithm. For more info about this member, see Remarks.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RASTERIZER_DESC::MultisampleEnable']/*"/>	
        /// <msdn-id>bb172408</msdn-id>	
        /// <unmanaged>BOOL MultisampleEnable</unmanaged>	
        /// <unmanaged-short>BOOL MultisampleEnable</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawBool IsMultisampleEnabled;
        
        /// <summary>	
        /// <dd> <p>Specifies whether to enable line antialiasing; only applies when alpha blending is enabled, you are drawing lines, and the <strong>MultisampleEnable</strong> member is <strong><see cref="SharpDX.Result.False"/></strong>.  The default value is <strong><see cref="SharpDX.Result.False"/></strong>. For more info about this member, see Remarks.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RASTERIZER_DESC::AntialiasedLineEnable']/*"/>	
        /// <msdn-id>bb172408</msdn-id>	
        /// <unmanaged>BOOL AntialiasedLineEnable</unmanaged>	
        /// <unmanaged-short>BOOL AntialiasedLineEnable</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawBool IsAntialiasedLineEnabled;
    }
    
    /// <summary>	
    /// <p>Describes the blend state for a render target for a Direct3D 10.1 device</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>To see how blending is done, see Output-Merger Stage (Direct3D 10).</p><p>These are the default values for blend state.</p><table> <tr><th>State</th><th>Default Value</th></tr> <tr><td>BlendEnable</td><td><see cref="SharpDX.Result.False"/></td></tr> <tr><td>SrcBlend</td><td><see cref="SharpDX.Direct3D10.BlendOption.One"/></td></tr> <tr><td>DestBlend</td><td><see cref="SharpDX.Direct3D10.BlendOption.Zero"/></td></tr> <tr><td>BlendOp</td><td><see cref="SharpDX.Direct3D10.BlendOperation.Add"/></td></tr> <tr><td>SrcBlendAlpha</td><td><see cref="SharpDX.Direct3D10.BlendOption.One"/></td></tr> <tr><td>DestBlendAlpha</td><td><see cref="SharpDX.Direct3D10.BlendOption.Zero"/></td></tr> <tr><td>BlendOpAlpha</td><td><see cref="SharpDX.Direct3D10.BlendOperation.Add"/></td></tr> <tr><td>RenderTargetWriteMask</td><td><see cref="SharpDX.Direct3D10.ColorWriteMaskFlags.All"/></td></tr> </table><p>?</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RENDER_TARGET_BLEND_DESC1']/*"/>	
    /// <msdn-id>bb694533</msdn-id>	
    /// <unmanaged>D3D10_RENDER_TARGET_BLEND_DESC1</unmanaged>	
    /// <unmanaged-short>D3D10_RENDER_TARGET_BLEND_DESC1</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct RenderTargetBlendDescription1 {	
        
        /// <summary>	
        /// <dd> <p>Enable (or disable) blending.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RENDER_TARGET_BLEND_DESC1::BlendEnable']/*"/>	
        /// <msdn-id>bb694533</msdn-id>	
        /// <unmanaged>BOOL BlendEnable</unmanaged>	
        /// <unmanaged-short>BOOL BlendEnable</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawBool IsBlendEnabled;
        
        /// <summary>	
        /// <dd> <p>This <strong>blend option</strong> specifies the first RGB data source and includes an optional pre-blend operation.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RENDER_TARGET_BLEND_DESC1::SrcBlend']/*"/>	
        /// <msdn-id>bb694533</msdn-id>	
        /// <unmanaged>D3D10_BLEND SrcBlend</unmanaged>	
        /// <unmanaged-short>D3D10_BLEND SrcBlend</unmanaged-short>	
        public SharpDX.Direct3D10.BlendOption SourceBlend;
        
        /// <summary>	
        /// <dd> <p>This <strong>blend option</strong> specifies the second RGB data source and includes an optional pre-blend operation.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RENDER_TARGET_BLEND_DESC1::DestBlend']/*"/>	
        /// <msdn-id>bb694533</msdn-id>	
        /// <unmanaged>D3D10_BLEND DestBlend</unmanaged>	
        /// <unmanaged-short>D3D10_BLEND DestBlend</unmanaged-short>	
        public SharpDX.Direct3D10.BlendOption DestinationBlend;
        
        /// <summary>	
        /// <dd> <p>This <strong>blend operation</strong> defines how to combine the RGB data sources.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RENDER_TARGET_BLEND_DESC1::BlendOp']/*"/>	
        /// <msdn-id>bb694533</msdn-id>	
        /// <unmanaged>D3D10_BLEND_OP BlendOp</unmanaged>	
        /// <unmanaged-short>D3D10_BLEND_OP BlendOp</unmanaged-short>	
        public SharpDX.Direct3D10.BlendOperation BlendOperation;
        
        /// <summary>	
        /// <dd> <p>This <strong>blend option</strong> specifies the first alpha data source and includes an optional pre-blend operation. Blend options that end in _COLOR are not allowed.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RENDER_TARGET_BLEND_DESC1::SrcBlendAlpha']/*"/>	
        /// <msdn-id>bb694533</msdn-id>	
        /// <unmanaged>D3D10_BLEND SrcBlendAlpha</unmanaged>	
        /// <unmanaged-short>D3D10_BLEND SrcBlendAlpha</unmanaged-short>	
        public SharpDX.Direct3D10.BlendOption SourceAlphaBlend;
        
        /// <summary>	
        /// <dd> <p>This <strong>blend option</strong> specifies the second alpha data source and includes an optional pre-blend operation. Blend options that end in _COLOR are not allowed.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RENDER_TARGET_BLEND_DESC1::DestBlendAlpha']/*"/>	
        /// <msdn-id>bb694533</msdn-id>	
        /// <unmanaged>D3D10_BLEND DestBlendAlpha</unmanaged>	
        /// <unmanaged-short>D3D10_BLEND DestBlendAlpha</unmanaged-short>	
        public SharpDX.Direct3D10.BlendOption DestinationAlphaBlend;
        
        /// <summary>	
        /// <dd> <p>This <strong>blend operation</strong> defines how to combine the alpha data sources.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RENDER_TARGET_BLEND_DESC1::BlendOpAlpha']/*"/>	
        /// <msdn-id>bb694533</msdn-id>	
        /// <unmanaged>D3D10_BLEND_OP BlendOpAlpha</unmanaged>	
        /// <unmanaged-short>D3D10_BLEND_OP BlendOpAlpha</unmanaged-short>	
        public SharpDX.Direct3D10.BlendOperation AlphaBlendOperation;
        
        /// <summary>	
        /// <dd> <p>A write mask.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RENDER_TARGET_BLEND_DESC1::RenderTargetWriteMask']/*"/>	
        /// <msdn-id>bb694533</msdn-id>	
        /// <unmanaged>D3D10_COLOR_WRITE_ENABLE RenderTargetWriteMask</unmanaged>	
        /// <unmanaged-short>D3D10_COLOR_WRITE_ENABLE RenderTargetWriteMask</unmanaged-short>	
        public SharpDX.Direct3D10.ColorWriteMaskFlags RenderTargetWriteMask;
    }
    
    /// <summary>	
    /// <p>Specifies the subresource(s) from a resource that are accessible using a render-target view.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>A render-target-view description is passed into <strong><see cref="SharpDX.Direct3D10.Device.CreateRenderTargetView"/></strong> to create a render target.</p><p>A render-target-view cannot use the following formats:</p><ul> <li>Any typeless format.</li> <li> <strong><see cref="SharpDX.DXGI.Format"/></strong> if the view will be used to bind a buffer (vertex, index, constant, or stream-output).</li> </ul><p>If the format is set to <strong><see cref="SharpDX.DXGI.Format"/></strong>, then the format of the resource that the view binds to the pipeline will be used.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RENDER_TARGET_VIEW_DESC']/*"/>	
    /// <msdn-id>bb172410</msdn-id>	
    /// <unmanaged>D3D10_RENDER_TARGET_VIEW_DESC</unmanaged>	
    /// <unmanaged-short>D3D10_RENDER_TARGET_VIEW_DESC</unmanaged-short>	
    [StructLayout(LayoutKind.Explicit)]
    public  partial struct RenderTargetViewDescription {	
        
        /// <summary>	
        /// <p>Specifies the subresource(s) from a 3D texture to use in a render-target view.</p>	
        /// </summary>	
        /// <remarks>	
        /// <p>This structure is one member of a render target view. See <strong><see cref="SharpDX.Direct3D10.RenderTargetViewDescription"/></strong>.</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX3D_RTV']/*"/>	
        /// <msdn-id>bb172476</msdn-id>	
        /// <unmanaged>D3D10_TEX3D_RTV</unmanaged>	
        /// <unmanaged-short>D3D10_TEX3D_RTV</unmanaged-short>	
        [StructLayout(LayoutKind.Sequential)]
        public  partial struct Texture3DResource {	
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX3D_RTV::MipSlice']/*"/>	
            /// <msdn-id>bb172476</msdn-id>	
            /// <unmanaged>unsigned int MipSlice</unmanaged>	
            /// <unmanaged-short>unsigned int MipSlice</unmanaged-short>	
            public int MipSlice;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX3D_RTV::FirstWSlice']/*"/>	
            /// <msdn-id>bb172476</msdn-id>	
            /// <unmanaged>unsigned int FirstWSlice</unmanaged>	
            /// <unmanaged-short>unsigned int FirstWSlice</unmanaged-short>	
            public int FirstDepthSlice;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX3D_RTV::WSize']/*"/>	
            /// <msdn-id>bb172476</msdn-id>	
            /// <unmanaged>unsigned int WSize</unmanaged>	
            /// <unmanaged-short>unsigned int WSize</unmanaged-short>	
            public int DepthSliceCount;
        }
        
        /// <summary>	
        /// <p>Specifies the subresource(s) from an array of 2D textures to use in a render-target view.</p>	
        /// </summary>	
        /// <remarks>	
        /// <p>This structure is one member of a render-target-view description (see <strong><see cref="SharpDX.Direct3D10.RenderTargetViewDescription"/></strong>).</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2D_ARRAY_RTV']/*"/>	
        /// <msdn-id>bb172471</msdn-id>	
        /// <unmanaged>D3D10_TEX2D_ARRAY_RTV</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2D_ARRAY_RTV</unmanaged-short>	
        [StructLayout(LayoutKind.Sequential)]
        public  partial struct Texture2DArrayResource {	
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2D_ARRAY_RTV::MipSlice']/*"/>	
            /// <msdn-id>bb172471</msdn-id>	
            /// <unmanaged>unsigned int MipSlice</unmanaged>	
            /// <unmanaged-short>unsigned int MipSlice</unmanaged-short>	
            public int MipSlice;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2D_ARRAY_RTV::FirstArraySlice']/*"/>	
            /// <msdn-id>bb172471</msdn-id>	
            /// <unmanaged>unsigned int FirstArraySlice</unmanaged>	
            /// <unmanaged-short>unsigned int FirstArraySlice</unmanaged-short>	
            public int FirstArraySlice;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2D_ARRAY_RTV::ArraySize']/*"/>	
            /// <msdn-id>bb172471</msdn-id>	
            /// <unmanaged>unsigned int ArraySize</unmanaged>	
            /// <unmanaged-short>unsigned int ArraySize</unmanaged-short>	
            public int ArraySize;
        }
        
        /// <summary>	
        /// <p>Specifies the subresource(s) from a an array of multisampled 2D textures to use in a render-target view.</p>	
        /// </summary>	
        /// <remarks>	
        /// <p>This structure is one member of a render-target-view description (see <strong><see cref="SharpDX.Direct3D10.RenderTargetViewDescription"/></strong>).</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2DMS_ARRAY_RTV']/*"/>	
        /// <msdn-id>bb172465</msdn-id>	
        /// <unmanaged>D3D10_TEX2DMS_ARRAY_RTV</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2DMS_ARRAY_RTV</unmanaged-short>	
        [StructLayout(LayoutKind.Sequential)]
        public  partial struct Texture2DMultisampledArrayResource {	
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2DMS_ARRAY_RTV::FirstArraySlice']/*"/>	
            /// <msdn-id>bb172465</msdn-id>	
            /// <unmanaged>unsigned int FirstArraySlice</unmanaged>	
            /// <unmanaged-short>unsigned int FirstArraySlice</unmanaged-short>	
            public int FirstArraySlice;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2DMS_ARRAY_RTV::ArraySize']/*"/>	
            /// <msdn-id>bb172465</msdn-id>	
            /// <unmanaged>unsigned int ArraySize</unmanaged>	
            /// <unmanaged-short>unsigned int ArraySize</unmanaged-short>	
            public int ArraySize;
        }
        
        /// <summary>	
        /// <p>Specifies the elements from a buffer resource to use in a render-target view.</p>	
        /// </summary>	
        /// <remarks>	
        /// <p>A render-target view is a member of a render-target-view description (see <strong><see cref="SharpDX.Direct3D10.RenderTargetViewDescription"/></strong>). Create a render-target view by calling <strong><see cref="SharpDX.Direct3D10.Device.CreateRenderTargetView"/></strong>.</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BUFFER_RTV']/*"/>	
        /// <msdn-id>bb204897</msdn-id>	
        /// <unmanaged>D3D10_BUFFER_RTV</unmanaged>	
        /// <unmanaged-short>D3D10_BUFFER_RTV</unmanaged-short>	
        [StructLayout(LayoutKind.Explicit)]
        public  partial struct BufferResource {	
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BUFFER_RTV::FirstElement']/*"/>	
            /// <msdn-id>bb204897</msdn-id>	
            /// <unmanaged>unsigned int FirstElement</unmanaged>	
            /// <unmanaged-short>unsigned int FirstElement</unmanaged-short>	
            [FieldOffset(0)]
            public int FirstElement;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BUFFER_RTV::ElementOffset']/*"/>	
            /// <msdn-id>bb204897</msdn-id>	
            /// <unmanaged>unsigned int ElementOffset</unmanaged>	
            /// <unmanaged-short>unsigned int ElementOffset</unmanaged-short>	
            [FieldOffset(0)]
            public int ElementOffset;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BUFFER_RTV::NumElements']/*"/>	
            /// <msdn-id>bb204897</msdn-id>	
            /// <unmanaged>unsigned int NumElements</unmanaged>	
            /// <unmanaged-short>unsigned int NumElements</unmanaged-short>	
            [FieldOffset(4)]
            public int ElementCount;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BUFFER_RTV::ElementWidth']/*"/>	
            /// <msdn-id>bb204897</msdn-id>	
            /// <unmanaged>unsigned int ElementWidth</unmanaged>	
            /// <unmanaged-short>unsigned int ElementWidth</unmanaged-short>	
            [FieldOffset(4)]
            public int ElementWidth;
        }
        
        /// <summary>	
        /// <p>Specifies the subresource from a 1D texture to use in a render-target view.</p>	
        /// </summary>	
        /// <remarks>	
        /// <p>This structure is one member of a render-target-view description (see <strong><see cref="SharpDX.Direct3D10.RenderTargetViewDescription"/></strong>).</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX1D_RTV']/*"/>	
        /// <msdn-id>bb172462</msdn-id>	
        /// <unmanaged>D3D10_TEX1D_RTV</unmanaged>	
        /// <unmanaged-short>D3D10_TEX1D_RTV</unmanaged-short>	
        [StructLayout(LayoutKind.Sequential)]
        public  partial struct Texture1DResource {	
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX1D_RTV::MipSlice']/*"/>	
            /// <msdn-id>bb172462</msdn-id>	
            /// <unmanaged>unsigned int MipSlice</unmanaged>	
            /// <unmanaged-short>unsigned int MipSlice</unmanaged-short>	
            public int MipSlice;
        }
        
        /// <summary>	
        /// <p>Specifies the subresource(s) from an array of 1D textures to use in a render-target view.</p>	
        /// </summary>	
        /// <remarks>	
        /// <p>This structure is one member of a render-target-view description (see <strong><see cref="SharpDX.Direct3D10.RenderTargetViewDescription"/></strong>).</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX1D_ARRAY_RTV']/*"/>	
        /// <msdn-id>bb172459</msdn-id>	
        /// <unmanaged>D3D10_TEX1D_ARRAY_RTV</unmanaged>	
        /// <unmanaged-short>D3D10_TEX1D_ARRAY_RTV</unmanaged-short>	
        [StructLayout(LayoutKind.Sequential)]
        public  partial struct Texture1DArrayResource {	
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX1D_ARRAY_RTV::MipSlice']/*"/>	
            /// <msdn-id>bb172459</msdn-id>	
            /// <unmanaged>unsigned int MipSlice</unmanaged>	
            /// <unmanaged-short>unsigned int MipSlice</unmanaged-short>	
            public int MipSlice;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX1D_ARRAY_RTV::FirstArraySlice']/*"/>	
            /// <msdn-id>bb172459</msdn-id>	
            /// <unmanaged>unsigned int FirstArraySlice</unmanaged>	
            /// <unmanaged-short>unsigned int FirstArraySlice</unmanaged-short>	
            public int FirstArraySlice;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX1D_ARRAY_RTV::ArraySize']/*"/>	
            /// <msdn-id>bb172459</msdn-id>	
            /// <unmanaged>unsigned int ArraySize</unmanaged>	
            /// <unmanaged-short>unsigned int ArraySize</unmanaged-short>	
            public int ArraySize;
        }
        
        /// <summary>	
        /// <p>Specifies the subresource from a 2D texture to use in a render-target view.</p>	
        /// </summary>	
        /// <remarks>	
        /// <p>This structure is one member of a render-target-view description (see <strong><see cref="SharpDX.Direct3D10.RenderTargetViewDescription"/></strong>).</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2D_RTV']/*"/>	
        /// <msdn-id>bb172474</msdn-id>	
        /// <unmanaged>D3D10_TEX2D_RTV</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2D_RTV</unmanaged-short>	
        [StructLayout(LayoutKind.Sequential)]
        public  partial struct Texture2DResource {	
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2D_RTV::MipSlice']/*"/>	
            /// <msdn-id>bb172474</msdn-id>	
            /// <unmanaged>unsigned int MipSlice</unmanaged>	
            /// <unmanaged-short>unsigned int MipSlice</unmanaged-short>	
            public int MipSlice;
        }
        
        /// <summary>	
        /// <p>Specifies the subresource from a multisampled 2D texture to use in a render-target view.</p>	
        /// </summary>	
        /// <remarks>	
        /// <p>Since a multisampled 2D texture contains a single subresource, there is actually nothing to specify in <strong><see cref="SharpDX.Direct3D10.RenderTargetViewDescription.Texture2DMultisampledResource"/></strong>. Consequently, <strong>UnusedField_NothingToDefine</strong> is included so that this structure will compile in C.</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2DMS_RTV']/*"/>	
        /// <msdn-id>bb172468</msdn-id>	
        /// <unmanaged>D3D10_TEX2DMS_RTV</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2DMS_RTV</unmanaged-short>	
        [StructLayout(LayoutKind.Sequential)]
        public  partial struct Texture2DMultisampledResource {	
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2DMS_RTV::UnusedField_NothingToDefine']/*"/>	
            /// <msdn-id>bb172468</msdn-id>	
            /// <unmanaged>unsigned int UnusedField_NothingToDefine</unmanaged>	
            /// <unmanaged-short>unsigned int UnusedField_NothingToDefine</unmanaged-short>	
            public int UnusedFieldNothingToDefine;
        }
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RENDER_TARGET_VIEW_DESC::Format']/*"/>	
        /// <msdn-id>bb172410</msdn-id>	
        /// <unmanaged>DXGI_FORMAT Format</unmanaged>	
        /// <unmanaged-short>DXGI_FORMAT Format</unmanaged-short>	
        [FieldOffset(0)]
        public SharpDX.DXGI.Format Format;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RENDER_TARGET_VIEW_DESC::ViewDimension']/*"/>	
        /// <msdn-id>bb172410</msdn-id>	
        /// <unmanaged>D3D10_RTV_DIMENSION ViewDimension</unmanaged>	
        /// <unmanaged-short>D3D10_RTV_DIMENSION ViewDimension</unmanaged-short>	
        [FieldOffset(4)]
        public SharpDX.Direct3D10.RenderTargetViewDimension Dimension;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RENDER_TARGET_VIEW_DESC::Buffer']/*"/>	
        /// <msdn-id>bb172410</msdn-id>	
        /// <unmanaged>D3D10_BUFFER_RTV Buffer</unmanaged>	
        /// <unmanaged-short>D3D10_BUFFER_RTV Buffer</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.RenderTargetViewDescription.BufferResource Buffer;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RENDER_TARGET_VIEW_DESC::Texture1D']/*"/>	
        /// <msdn-id>bb172410</msdn-id>	
        /// <unmanaged>D3D10_TEX1D_RTV Texture1D</unmanaged>	
        /// <unmanaged-short>D3D10_TEX1D_RTV Texture1D</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.RenderTargetViewDescription.Texture1DResource Texture1D;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RENDER_TARGET_VIEW_DESC::Texture1DArray']/*"/>	
        /// <msdn-id>bb172410</msdn-id>	
        /// <unmanaged>D3D10_TEX1D_ARRAY_RTV Texture1DArray</unmanaged>	
        /// <unmanaged-short>D3D10_TEX1D_ARRAY_RTV Texture1DArray</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.RenderTargetViewDescription.Texture1DArrayResource Texture1DArray;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RENDER_TARGET_VIEW_DESC::Texture2D']/*"/>	
        /// <msdn-id>bb172410</msdn-id>	
        /// <unmanaged>D3D10_TEX2D_RTV Texture2D</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2D_RTV Texture2D</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.RenderTargetViewDescription.Texture2DResource Texture2D;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RENDER_TARGET_VIEW_DESC::Texture2DArray']/*"/>	
        /// <msdn-id>bb172410</msdn-id>	
        /// <unmanaged>D3D10_TEX2D_ARRAY_RTV Texture2DArray</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2D_ARRAY_RTV Texture2DArray</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.RenderTargetViewDescription.Texture2DArrayResource Texture2DArray;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RENDER_TARGET_VIEW_DESC::Texture2DMS']/*"/>	
        /// <msdn-id>bb172410</msdn-id>	
        /// <unmanaged>D3D10_TEX2DMS_RTV Texture2DMS</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2DMS_RTV Texture2DMS</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.RenderTargetViewDescription.Texture2DMultisampledResource Texture2DMS;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RENDER_TARGET_VIEW_DESC::Texture2DMSArray']/*"/>	
        /// <msdn-id>bb172410</msdn-id>	
        /// <unmanaged>D3D10_TEX2DMS_ARRAY_RTV Texture2DMSArray</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2DMS_ARRAY_RTV Texture2DMSArray</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.RenderTargetViewDescription.Texture2DMultisampledArrayResource Texture2DMSArray;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_RENDER_TARGET_VIEW_DESC::Texture3D']/*"/>	
        /// <msdn-id>bb172410</msdn-id>	
        /// <unmanaged>D3D10_TEX3D_RTV Texture3D</unmanaged>	
        /// <unmanaged-short>D3D10_TEX3D_RTV Texture3D</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.RenderTargetViewDescription.Texture3DResource Texture3D;
    }
    
    /// <summary>	
    /// <p>Defines a 3D box.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>The following diagram shows a 3D box, where the origin is the left, front, top corner.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BOX']/*"/>	
    /// <msdn-id>bb204895</msdn-id>	
    /// <unmanaged>D3D10_BOX</unmanaged>	
    /// <unmanaged-short>D3D10_BOX</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct ResourceRegion {	
        
        /// <summary>	
        /// <dd> <p>The x position of the left hand side of the box.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BOX::left']/*"/>	
        /// <msdn-id>bb204895</msdn-id>	
        /// <unmanaged>unsigned int left</unmanaged>	
        /// <unmanaged-short>unsigned int left</unmanaged-short>	
        public int Left;
        
        /// <summary>	
        /// <dd> <p>The y position of the top of the box.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BOX::top']/*"/>	
        /// <msdn-id>bb204895</msdn-id>	
        /// <unmanaged>unsigned int top</unmanaged>	
        /// <unmanaged-short>unsigned int top</unmanaged-short>	
        public int Top;
        
        /// <summary>	
        /// <dd> <p>The z position of the front of the box.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BOX::front']/*"/>	
        /// <msdn-id>bb204895</msdn-id>	
        /// <unmanaged>unsigned int front</unmanaged>	
        /// <unmanaged-short>unsigned int front</unmanaged-short>	
        public int Front;
        
        /// <summary>	
        /// <dd> <p>The x position of the right hand side of the box.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BOX::right']/*"/>	
        /// <msdn-id>bb204895</msdn-id>	
        /// <unmanaged>unsigned int right</unmanaged>	
        /// <unmanaged-short>unsigned int right</unmanaged-short>	
        public int Right;
        
        /// <summary>	
        /// <dd> <p>The y position of the bottom of the box.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BOX::bottom']/*"/>	
        /// <msdn-id>bb204895</msdn-id>	
        /// <unmanaged>unsigned int bottom</unmanaged>	
        /// <unmanaged-short>unsigned int bottom</unmanaged-short>	
        public int Bottom;
        
        /// <summary>	
        /// <dd> <p>The z position of the back of the box.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BOX::back']/*"/>	
        /// <msdn-id>bb204895</msdn-id>	
        /// <unmanaged>unsigned int back</unmanaged>	
        /// <unmanaged-short>unsigned int back</unmanaged-short>	
        public int Back;
    }
    
    /// <summary>	
    /// <p>Describes a sampler state.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>These are the default values for sampler state.</p><table> <tr><th>State</th><th>Default Value</th></tr> <tr><td>Filter</td><td>Min_Mag_Mip_Point</td></tr> <tr><td>AddressU</td><td>Clamp</td></tr> <tr><td>AddressV</td><td>Clamp</td></tr> <tr><td>AddressW</td><td>Clamp</td></tr> <tr><td>MinLOD</td><td>0.0f</td></tr> <tr><td>MaxLOD</td><td>3.402823466e+38F (FLT_MAX)</td></tr> <tr><td>MipMapLODBias</td><td>0.0f</td></tr> <tr><td>MaxAnisotropy</td><td>16</td></tr> <tr><td>ComparisonFunc</td><td>Never</td></tr> <tr><td>BorderColor</td><td>float4(0.0f, 0.0f, 0.0f, 0.0f)</td></tr> <tr><td>Texture</td><td>N/A</td></tr> </table><p>?</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SAMPLER_DESC']/*"/>	
    /// <msdn-id>bb172415</msdn-id>	
    /// <unmanaged>D3D10_SAMPLER_DESC</unmanaged>	
    /// <unmanaged-short>D3D10_SAMPLER_DESC</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct SamplerStateDescription {	
        
        /// <summary>	
        /// <dd> <p>Filtering method to use when sampling a texture (see <strong><see cref="SharpDX.Direct3D10.Filter"/></strong>).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SAMPLER_DESC::Filter']/*"/>	
        /// <msdn-id>bb172415</msdn-id>	
        /// <unmanaged>D3D10_FILTER Filter</unmanaged>	
        /// <unmanaged-short>D3D10_FILTER Filter</unmanaged-short>	
        public SharpDX.Direct3D10.Filter Filter;
        
        /// <summary>	
        /// <dd> <p>Method to use for resolving a u texture coordinate that is outside the 0 to 1 range (see <strong><see cref="SharpDX.Direct3D10.TextureAddressMode"/></strong>).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SAMPLER_DESC::AddressU']/*"/>	
        /// <msdn-id>bb172415</msdn-id>	
        /// <unmanaged>D3D10_TEXTURE_ADDRESS_MODE AddressU</unmanaged>	
        /// <unmanaged-short>D3D10_TEXTURE_ADDRESS_MODE AddressU</unmanaged-short>	
        public SharpDX.Direct3D10.TextureAddressMode AddressU;
        
        /// <summary>	
        /// <dd> <p>Method to use for resolving a v texture coordinate that is outside the 0 to 1 range.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SAMPLER_DESC::AddressV']/*"/>	
        /// <msdn-id>bb172415</msdn-id>	
        /// <unmanaged>D3D10_TEXTURE_ADDRESS_MODE AddressV</unmanaged>	
        /// <unmanaged-short>D3D10_TEXTURE_ADDRESS_MODE AddressV</unmanaged-short>	
        public SharpDX.Direct3D10.TextureAddressMode AddressV;
        
        /// <summary>	
        /// <dd> <p>Method to use for resolving a w texture coordinate that is outside the 0 to 1 range.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SAMPLER_DESC::AddressW']/*"/>	
        /// <msdn-id>bb172415</msdn-id>	
        /// <unmanaged>D3D10_TEXTURE_ADDRESS_MODE AddressW</unmanaged>	
        /// <unmanaged-short>D3D10_TEXTURE_ADDRESS_MODE AddressW</unmanaged-short>	
        public SharpDX.Direct3D10.TextureAddressMode AddressW;
        
        /// <summary>	
        /// <dd> <p>Offset from the calculated mipmap level. For example, if Direct3D calculates that a texture should be sampled at mipmap level 3 and MipLODBias is 2, then the texture will be sampled at mipmap level 5.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SAMPLER_DESC::MipLODBias']/*"/>	
        /// <msdn-id>bb172415</msdn-id>	
        /// <unmanaged>float MipLODBias</unmanaged>	
        /// <unmanaged-short>float MipLODBias</unmanaged-short>	
        public float MipLodBias;
        
        /// <summary>	
        /// <dd> <p>Clamping value used if <see cref="SharpDX.Direct3D10.Filter.Anisotropic"/> or <see cref="SharpDX.Direct3D10.Filter.ComparisonAnisotropic"/> is specified in Filter. Valid values are between 1 and 16.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SAMPLER_DESC::MaxAnisotropy']/*"/>	
        /// <msdn-id>bb172415</msdn-id>	
        /// <unmanaged>unsigned int MaxAnisotropy</unmanaged>	
        /// <unmanaged-short>unsigned int MaxAnisotropy</unmanaged-short>	
        public int MaximumAnisotropy;
        
        /// <summary>	
        /// <dd> <p>A function that compares sampled data against existing sampled data. The function options are listed in <strong><see cref="SharpDX.Direct3D10.Comparison"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SAMPLER_DESC::ComparisonFunc']/*"/>	
        /// <msdn-id>bb172415</msdn-id>	
        /// <unmanaged>D3D10_COMPARISON_FUNC ComparisonFunc</unmanaged>	
        /// <unmanaged-short>D3D10_COMPARISON_FUNC ComparisonFunc</unmanaged-short>	
        public SharpDX.Direct3D10.Comparison ComparisonFunction;
        
        /// <summary>	
        /// <dd> <p>Border color to use if <see cref="SharpDX.Direct3D10.TextureAddressMode.Border"/> is specified for AddressU, AddressV, or AddressW. Range must be between 0.0 and 1.0 inclusive.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SAMPLER_DESC::BorderColor']/*"/>	
        /// <msdn-id>bb172415</msdn-id>	
        /// <unmanaged>SHARPDX_COLOR4 BorderColor</unmanaged>	
        /// <unmanaged-short>SHARPDX_COLOR4 BorderColor</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawColor4 BorderColor;
        
        /// <summary>	
        /// <dd> <p>Lower end of the mipmap range to clamp access to, where 0 is the largest and most detailed mipmap level and any level higher than that is less detailed.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SAMPLER_DESC::MinLOD']/*"/>	
        /// <msdn-id>bb172415</msdn-id>	
        /// <unmanaged>float MinLOD</unmanaged>	
        /// <unmanaged-short>float MinLOD</unmanaged-short>	
        public float MinimumLod;
        
        /// <summary>	
        /// <dd> <p>Upper end of the mipmap range to clamp access to, where 0 is the largest and most detailed mipmap level and any level higher than that is less detailed. This value must be greater than or equal to MinLOD. To have no upper limit on LOD set this to a large value such as D3D10_FLOAT32_MAX.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SAMPLER_DESC::MaxLOD']/*"/>	
        /// <msdn-id>bb172415</msdn-id>	
        /// <unmanaged>float MaxLOD</unmanaged>	
        /// <unmanaged-short>float MaxLOD</unmanaged-short>	
        public float MaximumLod;
    }
    
    /// <summary>	
    /// <p>Describes a shader constant-buffer.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>Constants are supplied to shaders in a shader-constant buffer. Get the description of a shader-constant-buffer by calling <strong>ID3D10ShaderReflectionConstantBuffer::GetDesc</strong>.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_BUFFER_DESC']/*"/>	
    /// <msdn-id>bb172417</msdn-id>	
    /// <unmanaged>D3D10_SHADER_BUFFER_DESC</unmanaged>	
    /// <unmanaged-short>D3D10_SHADER_BUFFER_DESC</unmanaged-short>	
    public  partial struct ShaderBufferDescription {	
        
        /// <summary>	
        /// <dd> <p>The name of the buffer.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_BUFFER_DESC::Name']/*"/>	
        /// <msdn-id>bb172417</msdn-id>	
        /// <unmanaged>const char* Name</unmanaged>	
        /// <unmanaged-short>char Name</unmanaged-short>	
        public string Name;
        
        /// <summary>	
        /// <dd> <p>The intended use of the constant data. See <strong>D3D10_CBUFFER_TYPE</strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_BUFFER_DESC::Type']/*"/>	
        /// <msdn-id>bb172417</msdn-id>	
        /// <unmanaged>D3D_CBUFFER_TYPE Type</unmanaged>	
        /// <unmanaged-short>D3D_CBUFFER_TYPE Type</unmanaged-short>	
        public SharpDX.D3DCompiler.ConstantBufferType Type;
        
        /// <summary>	
        /// <dd> <p>The number of unique variables.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_BUFFER_DESC::Variables']/*"/>	
        /// <msdn-id>bb172417</msdn-id>	
        /// <unmanaged>unsigned int Variables</unmanaged>	
        /// <unmanaged-short>unsigned int Variables</unmanaged-short>	
        public int VariableCount;
        
        /// <summary>	
        /// <dd> <p>Buffer size (in bytes).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_BUFFER_DESC::Size']/*"/>	
        /// <msdn-id>bb172417</msdn-id>	
        /// <unmanaged>unsigned int Size</unmanaged>	
        /// <unmanaged-short>unsigned int Size</unmanaged-short>	
        public int Size;
        
        /// <summary>	
        /// <dd> <p>Shader buffer properties. See <strong>D3D10_SHADER_CBUFFER_FLAGS</strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_BUFFER_DESC::uFlags']/*"/>	
        /// <msdn-id>bb172417</msdn-id>	
        /// <unmanaged>D3D_SHADER_CBUFFER_FLAGS uFlags</unmanaged>	
        /// <unmanaged-short>D3D_SHADER_CBUFFER_FLAGS uFlags</unmanaged-short>	
        public SharpDX.D3DCompiler.ConstantBufferFlags Flags;

        // Internal native struct used for marshalling
        [StructLayout(LayoutKind.Sequential)]
        internal partial struct __Native {	
            public System.IntPtr Name;
            public SharpDX.D3DCompiler.ConstantBufferType Type;
            public int VariableCount;
            public int Size;
            public SharpDX.D3DCompiler.ConstantBufferFlags Flags;
		    // Method to free unmanaged allocation
            internal unsafe void __MarshalFree()
            {   
                if (this.Name != IntPtr.Zero)
                    Marshal.FreeHGlobal(this.Name);		
            }
        }
		
		// Method to free unmanaged allocation
        internal unsafe void __MarshalFree(ref __Native @ref)
        {   
            @ref.__MarshalFree();
        }
		
		// Method to marshal from native to managed struct
        internal unsafe void __MarshalFrom(ref __Native @ref)
        {            
            this.Name = ( @ref.Name == IntPtr.Zero )?null:Marshal.PtrToStringAnsi(@ref.Name);
            this.Type = @ref.Type;
            this.VariableCount = @ref.VariableCount;
            this.Size = @ref.Size;
            this.Flags = @ref.Flags;
        }
    }
    
    /// <summary>	
    /// <p>Describes a shader signature.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>A shader can take n inputs and can produce m outputs. The order of the input (or output) parameters, their associated types, and any attached semantics make up the shader signature. Each shader has an input and an output signature.</p><p>When compiling a shader or an effect, some API calls validate shader signatures (such as <strong>D3D10CompileShader</strong> and <strong><see cref="SharpDX.Direct3D10.D3D10.CompileEffect10FromMemory"/></strong>). That is, they compare the output signature of one shader (like a vertex shader) with the input signature of another shader (like a pixel shader). This ensures that a shader outputs data that is compatible with a downstream shader that is consuming that data. Compatible means that a shader signature is a exact-match subset of the preceding shader stage. Exact match means parameter types and semantics must exactly match. Subset means that a parameter that is not required by a downstream stage, does not need to include that parameter in its shader signature.</p><p>Get a shader-signature from a shader or an effect by calling APIs such as <strong>ID3D10ShaderReflection::GetInputParameterDesc</strong> or <strong><see cref="SharpDX.Direct3D10.EffectShaderVariable.GetInputSignatureElementDescription"/></strong>.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SIGNATURE_PARAMETER_DESC']/*"/>	
    /// <msdn-id>bb172446</msdn-id>	
    /// <unmanaged>D3D10_SIGNATURE_PARAMETER_DESC</unmanaged>	
    /// <unmanaged-short>D3D10_SIGNATURE_PARAMETER_DESC</unmanaged-short>	
    public  partial struct ShaderParameterDescription {	
        
        /// <summary>	
        /// <dd> <p>A per-parameter string that identifies how the data will be used. See Semantics (DirectX HLSL).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SIGNATURE_PARAMETER_DESC::SemanticName']/*"/>	
        /// <msdn-id>bb172446</msdn-id>	
        /// <unmanaged>const char* SemanticName</unmanaged>	
        /// <unmanaged-short>char SemanticName</unmanaged-short>	
        public string SemanticName;
        
        /// <summary>	
        /// <dd> <p>Semantic index that modifies the semantic. Used to differentiate different parameters that use the same semantic.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SIGNATURE_PARAMETER_DESC::SemanticIndex']/*"/>	
        /// <msdn-id>bb172446</msdn-id>	
        /// <unmanaged>unsigned int SemanticIndex</unmanaged>	
        /// <unmanaged-short>unsigned int SemanticIndex</unmanaged-short>	
        public int SemanticIndex;
        
        /// <summary>	
        /// <dd> <p>The register that will contain this variable's data.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SIGNATURE_PARAMETER_DESC::Register']/*"/>	
        /// <msdn-id>bb172446</msdn-id>	
        /// <unmanaged>unsigned int Register</unmanaged>	
        /// <unmanaged-short>unsigned int Register</unmanaged-short>	
        public int Register;
        
        /// <summary>	
        /// <dd> <p>A predefined string that determines the functionality of certain pipeline stages. See <strong>D3D10_NAME</strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SIGNATURE_PARAMETER_DESC::SystemValueType']/*"/>	
        /// <msdn-id>bb172446</msdn-id>	
        /// <unmanaged>D3D_NAME SystemValueType</unmanaged>	
        /// <unmanaged-short>D3D_NAME SystemValueType</unmanaged-short>	
        public SharpDX.D3DCompiler.SystemValueType SystemValueType;
        
        /// <summary>	
        /// <dd> <p>The per-component-data type that is stored in a register. See <strong>D3D10_REGISTER_COMPONENT_TYPE</strong>. Each register can store up to four-components of data.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SIGNATURE_PARAMETER_DESC::ComponentType']/*"/>	
        /// <msdn-id>bb172446</msdn-id>	
        /// <unmanaged>D3D_REGISTER_COMPONENT_TYPE ComponentType</unmanaged>	
        /// <unmanaged-short>D3D_REGISTER_COMPONENT_TYPE ComponentType</unmanaged-short>	
        public SharpDX.D3DCompiler.RegisterComponentType ComponentType;
        
        /// <summary>	
        /// <dd> <p>Mask which indicates which components of a register are used.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SIGNATURE_PARAMETER_DESC::Mask']/*"/>	
        /// <msdn-id>bb172446</msdn-id>	
        /// <unmanaged>unsigned char Mask</unmanaged>	
        /// <unmanaged-short>unsigned char Mask</unmanaged-short>	
        public byte Mask;
        
        /// <summary>	
        /// <dd> <p>Mask which indicates whether a given component is never written (if the signature is an output signature) or always read (if the signature is an input signature). The mask is a combination of <strong>D3D10_REGISTER_COMPONENT_TYPE</strong> values.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SIGNATURE_PARAMETER_DESC::ReadWriteMask']/*"/>	
        /// <msdn-id>bb172446</msdn-id>	
        /// <unmanaged>unsigned char ReadWriteMask</unmanaged>	
        /// <unmanaged-short>unsigned char ReadWriteMask</unmanaged-short>	
        public byte ReadWriteMask;

        // Internal native struct used for marshalling
        [StructLayout(LayoutKind.Sequential)]
        internal partial struct __Native {	
            public System.IntPtr SemanticName;
            public int SemanticIndex;
            public int Register;
            public SharpDX.D3DCompiler.SystemValueType SystemValueType;
            public SharpDX.D3DCompiler.RegisterComponentType ComponentType;
            public byte Mask;
            public byte ReadWriteMask;
		    // Method to free unmanaged allocation
            internal unsafe void __MarshalFree()
            {   
                if (this.SemanticName != IntPtr.Zero)
                    Marshal.FreeHGlobal(this.SemanticName);		
            }
        }
		
		// Method to free unmanaged allocation
        internal unsafe void __MarshalFree(ref __Native @ref)
        {   
            @ref.__MarshalFree();
        }
		
		// Method to marshal from native to managed struct
        internal unsafe void __MarshalFrom(ref __Native @ref)
        {            
            this.SemanticName = ( @ref.SemanticName == IntPtr.Zero )?null:Marshal.PtrToStringAnsi(@ref.SemanticName);
            this.SemanticIndex = @ref.SemanticIndex;
            this.Register = @ref.Register;
            this.SystemValueType = @ref.SystemValueType;
            this.ComponentType = @ref.ComponentType;
            this.Mask = @ref.Mask;
            this.ReadWriteMask = @ref.ReadWriteMask;
        }
        // Method to marshal from managed struct tot native
        internal unsafe void __MarshalTo(ref __Native @ref)
        {
            @ref.SemanticName = ( this.SemanticName == null )?IntPtr.Zero : Utilities.StringToHGlobalAnsi(this.SemanticName);
            @ref.SemanticIndex = this.SemanticIndex;
            @ref.Register = this.Register;
            @ref.SystemValueType = this.SystemValueType;
            @ref.ComponentType = this.ComponentType;
            @ref.Mask = this.Mask;
            @ref.ReadWriteMask = this.ReadWriteMask;
		
		}
    }
    
    /// <summary>	
    /// <p>Describes a shader-resource view.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>A view is a format-specific way to look at the data in a resource. The view determines what data to look at, and how it is cast when read. For more information about how views work, see Views </p><p>When viewing a resource, the resource-view description must specify a typed format, that is compatible with the resource format. So that means that you cannot create a resource-view description using any format with _TYPELESS in the name. You can however view a typeless resource by specifying a typed format for the view. For example, a <see cref="SharpDX.DXGI.Format.R32G32B32_Typeless"/> resource can be viewed with one of these typed formats: <see cref="SharpDX.DXGI.Format.R32G32B32_Float"/>, <see cref="SharpDX.DXGI.Format.R32G32B32_UInt"/>, and <see cref="SharpDX.DXGI.Format.R32G32B32_SInt"/>, since these typed formats are compatible with the typeless resource.</p><p>Create a shader-resource-view description by calling <strong><see cref="SharpDX.Direct3D10.Device.CreateShaderResourceView"/></strong>. To view a shader-resource-view description, call <strong><see cref="SharpDX.Direct3D10.ShaderResourceView.GetDescription"/></strong>.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_RESOURCE_VIEW_DESC']/*"/>	
    /// <msdn-id>bb172437</msdn-id>	
    /// <unmanaged>D3D10_SHADER_RESOURCE_VIEW_DESC</unmanaged>	
    /// <unmanaged-short>D3D10_SHADER_RESOURCE_VIEW_DESC</unmanaged-short>	
    [StructLayout(LayoutKind.Explicit)]
    public  partial struct ShaderResourceViewDescription {	
        
        /// <summary>	
        /// <p>Specifies the elements in a buffer resource to use in a shader-resource view.</p>	
        /// </summary>	
        /// <remarks>	
        /// <p>The <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription.BufferResource"/></strong> structure is a member of the  <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription"/></strong> structure, which represents a shader-resource view description. You can create a shader-resource view by calling the <strong><see cref="SharpDX.Direct3D10.Device.CreateShaderResourceView"/></strong> method.</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BUFFER_SRV']/*"/>	
        /// <msdn-id>bb204898</msdn-id>	
        /// <unmanaged>D3D10_BUFFER_SRV</unmanaged>	
        /// <unmanaged-short>D3D10_BUFFER_SRV</unmanaged-short>	
        [StructLayout(LayoutKind.Explicit)]
        public  partial struct BufferResource {	
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BUFFER_SRV::FirstElement']/*"/>	
            /// <msdn-id>bb204898</msdn-id>	
            /// <unmanaged>unsigned int FirstElement</unmanaged>	
            /// <unmanaged-short>unsigned int FirstElement</unmanaged-short>	
            [FieldOffset(0)]
            public int FirstElement;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BUFFER_SRV::ElementOffset']/*"/>	
            /// <msdn-id>bb204898</msdn-id>	
            /// <unmanaged>unsigned int ElementOffset</unmanaged>	
            /// <unmanaged-short>unsigned int ElementOffset</unmanaged-short>	
            [FieldOffset(0)]
            public int ElementOffset;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BUFFER_SRV::NumElements']/*"/>	
            /// <msdn-id>bb204898</msdn-id>	
            /// <unmanaged>unsigned int NumElements</unmanaged>	
            /// <unmanaged-short>unsigned int NumElements</unmanaged-short>	
            [FieldOffset(4)]
            public int ElementCount;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_BUFFER_SRV::ElementWidth']/*"/>	
            /// <msdn-id>bb204898</msdn-id>	
            /// <unmanaged>unsigned int ElementWidth</unmanaged>	
            /// <unmanaged-short>unsigned int ElementWidth</unmanaged-short>	
            [FieldOffset(4)]
            public int ElementWidth;
        }
        
        /// <summary>	
        /// <p>Specifies the subresource from a 1D texture to use in a shader-resource view.</p>	
        /// </summary>	
        /// <remarks>	
        /// <p>This structure is one member of a shader-resource-view description (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription"/></strong>).</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX1D_SRV']/*"/>	
        /// <msdn-id>bb172463</msdn-id>	
        /// <unmanaged>D3D10_TEX1D_SRV</unmanaged>	
        /// <unmanaged-short>D3D10_TEX1D_SRV</unmanaged-short>	
        [StructLayout(LayoutKind.Sequential)]
        public  partial struct Texture1DResource {	
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX1D_SRV::MostDetailedMip']/*"/>	
            /// <msdn-id>bb172463</msdn-id>	
            /// <unmanaged>unsigned int MostDetailedMip</unmanaged>	
            /// <unmanaged-short>unsigned int MostDetailedMip</unmanaged-short>	
            public int MostDetailedMip;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX1D_SRV::MipLevels']/*"/>	
            /// <msdn-id>bb172463</msdn-id>	
            /// <unmanaged>unsigned int MipLevels</unmanaged>	
            /// <unmanaged-short>unsigned int MipLevels</unmanaged-short>	
            public int MipLevels;
        }
        
        /// <summary>	
        /// <p>Specifies the subresource(s) from an array of 1D textures to use in a shader-resource view.</p>	
        /// </summary>	
        /// <remarks>	
        /// <p>This structure is one member of a shader-resource-view description (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription"/></strong>).</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX1D_ARRAY_SRV']/*"/>	
        /// <msdn-id>bb172460</msdn-id>	
        /// <unmanaged>D3D10_TEX1D_ARRAY_SRV</unmanaged>	
        /// <unmanaged-short>D3D10_TEX1D_ARRAY_SRV</unmanaged-short>	
        [StructLayout(LayoutKind.Sequential)]
        public  partial struct Texture1DArrayResource {	
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX1D_ARRAY_SRV::MostDetailedMip']/*"/>	
            /// <msdn-id>bb172460</msdn-id>	
            /// <unmanaged>unsigned int MostDetailedMip</unmanaged>	
            /// <unmanaged-short>unsigned int MostDetailedMip</unmanaged-short>	
            public int MostDetailedMip;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX1D_ARRAY_SRV::MipLevels']/*"/>	
            /// <msdn-id>bb172460</msdn-id>	
            /// <unmanaged>unsigned int MipLevels</unmanaged>	
            /// <unmanaged-short>unsigned int MipLevels</unmanaged-short>	
            public int MipLevels;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX1D_ARRAY_SRV::FirstArraySlice']/*"/>	
            /// <msdn-id>bb172460</msdn-id>	
            /// <unmanaged>unsigned int FirstArraySlice</unmanaged>	
            /// <unmanaged-short>unsigned int FirstArraySlice</unmanaged-short>	
            public int FirstArraySlice;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX1D_ARRAY_SRV::ArraySize']/*"/>	
            /// <msdn-id>bb172460</msdn-id>	
            /// <unmanaged>unsigned int ArraySize</unmanaged>	
            /// <unmanaged-short>unsigned int ArraySize</unmanaged-short>	
            public int ArraySize;
        }
        
        /// <summary>	
        /// <p>Specifies the subresource from a 2D texture to use in a shader-resource view.</p>	
        /// </summary>	
        /// <remarks>	
        /// <p>This structure is one member of a shader-resource-view description (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription"/></strong>).</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2D_SRV']/*"/>	
        /// <msdn-id>bb172475</msdn-id>	
        /// <unmanaged>D3D10_TEX2D_SRV</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2D_SRV</unmanaged-short>	
        [StructLayout(LayoutKind.Sequential)]
        public  partial struct Texture2DResource {	
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2D_SRV::MostDetailedMip']/*"/>	
            /// <msdn-id>bb172475</msdn-id>	
            /// <unmanaged>unsigned int MostDetailedMip</unmanaged>	
            /// <unmanaged-short>unsigned int MostDetailedMip</unmanaged-short>	
            public int MostDetailedMip;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2D_SRV::MipLevels']/*"/>	
            /// <msdn-id>bb172475</msdn-id>	
            /// <unmanaged>unsigned int MipLevels</unmanaged>	
            /// <unmanaged-short>unsigned int MipLevels</unmanaged-short>	
            public int MipLevels;
        }
        
        /// <summary>	
        /// <p>Specifies the subresource(s) from an array of 2D textures to use in a shader-resource view.</p>	
        /// </summary>	
        /// <remarks>	
        /// <p>This structure is one member of a shader-resource-view description (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription"/></strong>).</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2D_ARRAY_SRV']/*"/>	
        /// <msdn-id>bb172472</msdn-id>	
        /// <unmanaged>D3D10_TEX2D_ARRAY_SRV</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2D_ARRAY_SRV</unmanaged-short>	
        [StructLayout(LayoutKind.Sequential)]
        public  partial struct Texture2DArrayResource {	
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2D_ARRAY_SRV::MostDetailedMip']/*"/>	
            /// <msdn-id>bb172472</msdn-id>	
            /// <unmanaged>unsigned int MostDetailedMip</unmanaged>	
            /// <unmanaged-short>unsigned int MostDetailedMip</unmanaged-short>	
            public int MostDetailedMip;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2D_ARRAY_SRV::MipLevels']/*"/>	
            /// <msdn-id>bb172472</msdn-id>	
            /// <unmanaged>unsigned int MipLevels</unmanaged>	
            /// <unmanaged-short>unsigned int MipLevels</unmanaged-short>	
            public int MipLevels;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2D_ARRAY_SRV::FirstArraySlice']/*"/>	
            /// <msdn-id>bb172472</msdn-id>	
            /// <unmanaged>unsigned int FirstArraySlice</unmanaged>	
            /// <unmanaged-short>unsigned int FirstArraySlice</unmanaged-short>	
            public int FirstArraySlice;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2D_ARRAY_SRV::ArraySize']/*"/>	
            /// <msdn-id>bb172472</msdn-id>	
            /// <unmanaged>unsigned int ArraySize</unmanaged>	
            /// <unmanaged-short>unsigned int ArraySize</unmanaged-short>	
            public int ArraySize;
        }
        
        /// <summary>	
        /// <p>Specifies the subresource(s) from a multisampled 2D texture to use in a shader-resource view.</p>	
        /// </summary>	
        /// <remarks>	
        /// <p>Since a multisampled 2D texture contains a single subresource, there is actually nothing to specify in <strong><see cref="SharpDX.Direct3D10.RenderTargetViewDescription.Texture2DMultisampledResource"/></strong>. Consequently, <strong>UnusedField_NothingToDefine</strong> is included so that this structure will compile in C.</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2DMS_SRV']/*"/>	
        /// <msdn-id>bb172469</msdn-id>	
        /// <unmanaged>D3D10_TEX2DMS_SRV</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2DMS_SRV</unmanaged-short>	
        [StructLayout(LayoutKind.Sequential)]
        public  partial struct Texture2DMultisampledResource {	
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2DMS_SRV::UnusedField_NothingToDefine']/*"/>	
            /// <msdn-id>bb172469</msdn-id>	
            /// <unmanaged>unsigned int UnusedField_NothingToDefine</unmanaged>	
            /// <unmanaged-short>unsigned int UnusedField_NothingToDefine</unmanaged-short>	
            public int UnusedFieldNothingToDefine;
        }
        
        /// <summary>	
        /// <p>Specifies the subresource(s) from an array of multisampled 2D textures to use in a shader-resource view.</p>	
        /// </summary>	
        /// <remarks>	
        /// <p>This structure is one member of a shader-resource-view description (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription"/></strong>).</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2DMS_ARRAY_SRV']/*"/>	
        /// <msdn-id>bb172466</msdn-id>	
        /// <unmanaged>D3D10_TEX2DMS_ARRAY_SRV</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2DMS_ARRAY_SRV</unmanaged-short>	
        [StructLayout(LayoutKind.Sequential)]
        public  partial struct Texture2DMultisampledArrayResource {	
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2DMS_ARRAY_SRV::FirstArraySlice']/*"/>	
            /// <msdn-id>bb172466</msdn-id>	
            /// <unmanaged>unsigned int FirstArraySlice</unmanaged>	
            /// <unmanaged-short>unsigned int FirstArraySlice</unmanaged-short>	
            public int FirstArraySlice;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX2DMS_ARRAY_SRV::ArraySize']/*"/>	
            /// <msdn-id>bb172466</msdn-id>	
            /// <unmanaged>unsigned int ArraySize</unmanaged>	
            /// <unmanaged-short>unsigned int ArraySize</unmanaged-short>	
            public int ArraySize;
        }
        
        /// <summary>	
        /// <p>Specifies the subresource(s) from a 3D texture to use in a shader-resource view.</p>	
        /// </summary>	
        /// <remarks>	
        /// <p>This structure is one member of a shader-resource-view description (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription"/></strong>).</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX3D_SRV']/*"/>	
        /// <msdn-id>bb172477</msdn-id>	
        /// <unmanaged>D3D10_TEX3D_SRV</unmanaged>	
        /// <unmanaged-short>D3D10_TEX3D_SRV</unmanaged-short>	
        [StructLayout(LayoutKind.Sequential)]
        public  partial struct Texture3DResource {	
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX3D_SRV::MostDetailedMip']/*"/>	
            /// <msdn-id>bb172477</msdn-id>	
            /// <unmanaged>unsigned int MostDetailedMip</unmanaged>	
            /// <unmanaged-short>unsigned int MostDetailedMip</unmanaged-short>	
            public int MostDetailedMip;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEX3D_SRV::MipLevels']/*"/>	
            /// <msdn-id>bb172477</msdn-id>	
            /// <unmanaged>unsigned int MipLevels</unmanaged>	
            /// <unmanaged-short>unsigned int MipLevels</unmanaged-short>	
            public int MipLevels;
        }
        
        /// <summary>	
        /// <p>Specifies the subresource from a cube texture to use in a shader-resource view.</p>	
        /// </summary>	
        /// <remarks>	
        /// <p>This structure is one member of a shader-resource-view description (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription"/></strong>).</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXCUBE_SRV']/*"/>	
        /// <msdn-id>bb172478</msdn-id>	
        /// <unmanaged>D3D10_TEXCUBE_SRV</unmanaged>	
        /// <unmanaged-short>D3D10_TEXCUBE_SRV</unmanaged-short>	
        [StructLayout(LayoutKind.Sequential)]
        public  partial struct TextureCubeResource {	
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXCUBE_SRV::MostDetailedMip']/*"/>	
            /// <msdn-id>bb172478</msdn-id>	
            /// <unmanaged>unsigned int MostDetailedMip</unmanaged>	
            /// <unmanaged-short>unsigned int MostDetailedMip</unmanaged-short>	
            public int MostDetailedMip;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXCUBE_SRV::MipLevels']/*"/>	
            /// <msdn-id>bb172478</msdn-id>	
            /// <unmanaged>unsigned int MipLevels</unmanaged>	
            /// <unmanaged-short>unsigned int MipLevels</unmanaged-short>	
            public int MipLevels;
        }
        
        /// <summary>	
        /// <dd> <p>The viewing <strong>format</strong>. See remarks.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_RESOURCE_VIEW_DESC::Format']/*"/>	
        /// <msdn-id>bb172437</msdn-id>	
        /// <unmanaged>DXGI_FORMAT Format</unmanaged>	
        /// <unmanaged-short>DXGI_FORMAT Format</unmanaged-short>	
        [FieldOffset(0)]
        public SharpDX.DXGI.Format Format;
        
        /// <summary>	
        /// <dd> <p>The resource type of the view. See <strong>D3D10_SRV_DIMENSION</strong>. This should be the same as the resource type of the underlying resource. This parameter also determines which _SRV to use in the union below.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_RESOURCE_VIEW_DESC::ViewDimension']/*"/>	
        /// <msdn-id>bb172437</msdn-id>	
        /// <unmanaged>D3D_SRV_DIMENSION ViewDimension</unmanaged>	
        /// <unmanaged-short>D3D_SRV_DIMENSION ViewDimension</unmanaged-short>	
        [FieldOffset(4)]
        public SharpDX.Direct3D.ShaderResourceViewDimension Dimension;
        
        /// <summary>	
        /// <dd> <p>View the resource as a buffer using information from a shader-resource view (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription.BufferResource"/></strong>).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_RESOURCE_VIEW_DESC::Buffer']/*"/>	
        /// <msdn-id>bb172437</msdn-id>	
        /// <unmanaged>D3D10_BUFFER_SRV Buffer</unmanaged>	
        /// <unmanaged-short>D3D10_BUFFER_SRV Buffer</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.ShaderResourceViewDescription.BufferResource Buffer;
        
        /// <summary>	
        /// <dd> <p>View the resource as a 1D texture using information from a shader-resource view (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription.Texture1DResource"/></strong>).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_RESOURCE_VIEW_DESC::Texture1D']/*"/>	
        /// <msdn-id>bb172437</msdn-id>	
        /// <unmanaged>D3D10_TEX1D_SRV Texture1D</unmanaged>	
        /// <unmanaged-short>D3D10_TEX1D_SRV Texture1D</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.ShaderResourceViewDescription.Texture1DResource Texture1D;
        
        /// <summary>	
        /// <dd> <p>View the resource as a 1D-texture array using information from a shader-resource view (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription.Texture1DArrayResource"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_RESOURCE_VIEW_DESC::Texture1DArray']/*"/>	
        /// <msdn-id>bb172437</msdn-id>	
        /// <unmanaged>D3D10_TEX1D_ARRAY_SRV Texture1DArray</unmanaged>	
        /// <unmanaged-short>D3D10_TEX1D_ARRAY_SRV Texture1DArray</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.ShaderResourceViewDescription.Texture1DArrayResource Texture1DArray;
        
        /// <summary>	
        /// <dd> <p>View the resource as a 2D-texture using information from a shader-resource view (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription.Texture2DResource"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_RESOURCE_VIEW_DESC::Texture2D']/*"/>	
        /// <msdn-id>bb172437</msdn-id>	
        /// <unmanaged>D3D10_TEX2D_SRV Texture2D</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2D_SRV Texture2D</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.ShaderResourceViewDescription.Texture2DResource Texture2D;
        
        /// <summary>	
        /// <dd> <p>View the resource as a 2D-texture array using information from a shader-resource view (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription.Texture2DArrayResource"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_RESOURCE_VIEW_DESC::Texture2DArray']/*"/>	
        /// <msdn-id>bb172437</msdn-id>	
        /// <unmanaged>D3D10_TEX2D_ARRAY_SRV Texture2DArray</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2D_ARRAY_SRV Texture2DArray</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.ShaderResourceViewDescription.Texture2DArrayResource Texture2DArray;
        
        /// <summary>	
        /// <dd> <p>View the resource as a 2D-multisampled texture using information from a shader-resource view (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription.Texture2DMultisampledResource"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_RESOURCE_VIEW_DESC::Texture2DMS']/*"/>	
        /// <msdn-id>bb172437</msdn-id>	
        /// <unmanaged>D3D10_TEX2DMS_SRV Texture2DMS</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2DMS_SRV Texture2DMS</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.ShaderResourceViewDescription.Texture2DMultisampledResource Texture2DMS;
        
        /// <summary>	
        /// <dd> <p>View the resource as a 2D-multisampled-texture array using information from a shader-resource view (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription.Texture2DMultisampledArrayResource"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_RESOURCE_VIEW_DESC::Texture2DMSArray']/*"/>	
        /// <msdn-id>bb172437</msdn-id>	
        /// <unmanaged>D3D10_TEX2DMS_ARRAY_SRV Texture2DMSArray</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2DMS_ARRAY_SRV Texture2DMSArray</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.ShaderResourceViewDescription.Texture2DMultisampledArrayResource Texture2DMSArray;
        
        /// <summary>	
        /// <dd> <p>View the resource as a 3D texture using information from a shader-resource view (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription.Texture3DResource"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_RESOURCE_VIEW_DESC::Texture3D']/*"/>	
        /// <msdn-id>bb172437</msdn-id>	
        /// <unmanaged>D3D10_TEX3D_SRV Texture3D</unmanaged>	
        /// <unmanaged-short>D3D10_TEX3D_SRV Texture3D</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.ShaderResourceViewDescription.Texture3DResource Texture3D;
        
        /// <summary>	
        /// <dd> <p>View the resource as a 3D-cube texture using information from a shader-resource view (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription.TextureCubeResource"/></strong>).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_RESOURCE_VIEW_DESC::TextureCube']/*"/>	
        /// <msdn-id>bb172437</msdn-id>	
        /// <unmanaged>D3D10_TEXCUBE_SRV TextureCube</unmanaged>	
        /// <unmanaged-short>D3D10_TEXCUBE_SRV TextureCube</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.ShaderResourceViewDescription.TextureCubeResource TextureCube;
    }
    
    /// <summary>	
    /// <p>Describes a shader-resource view.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>A view is a format-specific way to look at the data in a resource. The view determines what data to look at, and how it is cast when read. For more information about how views work, see Views </p><p>When viewing a resource, the resource-view description must specify a typed format, that is compatible with the resource format. So that means that you cannot create a resource-view description using any format with _TYPELESS in the name. You can however view a typeless resource by specifying a typed format for the view. For example, a <see cref="SharpDX.DXGI.Format.R32G32B32_Typeless"/> resource can be viewed with one of these typed formats: <see cref="SharpDX.DXGI.Format.R32G32B32_Float"/>, <see cref="SharpDX.DXGI.Format.R32G32B32_UInt"/>, and <see cref="SharpDX.DXGI.Format.R32G32B32_SInt"/>, since these typed formats are compatible with the typeless resource.</p><p>Create a shader-resource-view description by calling <strong><see cref="SharpDX.Direct3D10.Device1.CreateShaderResourceView1"/></strong>. To view a shader-resource-view description, call <strong><see cref="SharpDX.Direct3D10.ShaderResourceView.GetDescription"/></strong>.</p><p>This structure requires Windows Vista Service Pack 1.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_RESOURCE_VIEW_DESC1']/*"/>	
    /// <msdn-id>bb694534</msdn-id>	
    /// <unmanaged>D3D10_SHADER_RESOURCE_VIEW_DESC1</unmanaged>	
    /// <unmanaged-short>D3D10_SHADER_RESOURCE_VIEW_DESC1</unmanaged-short>	
    [StructLayout(LayoutKind.Explicit)]
    public  partial struct ShaderResourceViewDescription1 {	
        
        /// <summary>	
        /// <p>Specifies the subresource(s) from an array of cube textures to use in a shader-resource view.</p>	
        /// </summary>	
        /// <remarks>	
        /// <p>This structure is one member of a shader-resource-view description (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription1"/></strong>).</p><p>This structure requires Windows Vista Service Pack 1.</p>	
        /// </remarks>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXCUBE_ARRAY_SRV1']/*"/>	
        /// <msdn-id>bb694536</msdn-id>	
        /// <unmanaged>D3D10_TEXCUBE_ARRAY_SRV1</unmanaged>	
        /// <unmanaged-short>D3D10_TEXCUBE_ARRAY_SRV1</unmanaged-short>	
        [StructLayout(LayoutKind.Sequential)]
        public  partial struct TextureCubeArrayResource1 {	
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXCUBE_ARRAY_SRV1::MostDetailedMip']/*"/>	
            /// <msdn-id>bb694536</msdn-id>	
            /// <unmanaged>unsigned int MostDetailedMip</unmanaged>	
            /// <unmanaged-short>unsigned int MostDetailedMip</unmanaged-short>	
            public int MostDetailedMip;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXCUBE_ARRAY_SRV1::MipLevels']/*"/>	
            /// <msdn-id>bb694536</msdn-id>	
            /// <unmanaged>unsigned int MipLevels</unmanaged>	
            /// <unmanaged-short>unsigned int MipLevels</unmanaged-short>	
            public int MipLevels;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXCUBE_ARRAY_SRV1::First2DArrayFace']/*"/>	
            /// <msdn-id>bb694536</msdn-id>	
            /// <unmanaged>unsigned int First2DArrayFace</unmanaged>	
            /// <unmanaged-short>unsigned int First2DArrayFace</unmanaged-short>	
            public int First2DArrayFace;
            
            /// <summary>	
            /// No documentation.	
            /// </summary>	
            /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXCUBE_ARRAY_SRV1::NumCubes']/*"/>	
            /// <msdn-id>bb694536</msdn-id>	
            /// <unmanaged>unsigned int NumCubes</unmanaged>	
            /// <unmanaged-short>unsigned int NumCubes</unmanaged-short>	
            public int CubeCount;
        }
        
        /// <summary>	
        /// <dd> <p>The viewing <strong>format</strong>. See remarks.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_RESOURCE_VIEW_DESC1::Format']/*"/>	
        /// <msdn-id>bb694534</msdn-id>	
        /// <unmanaged>DXGI_FORMAT Format</unmanaged>	
        /// <unmanaged-short>DXGI_FORMAT Format</unmanaged-short>	
        [FieldOffset(0)]
        public SharpDX.DXGI.Format Format;
        
        /// <summary>	
        /// <dd> <p>The resource type of the view. See <strong>D3D10_SRV_DIMENSION1</strong>. This should be the same as the resource type of the underlying resource. This parameter also determines which _SRV to use in the union below.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_RESOURCE_VIEW_DESC1::ViewDimension']/*"/>	
        /// <msdn-id>bb694534</msdn-id>	
        /// <unmanaged>D3D_SRV_DIMENSION ViewDimension</unmanaged>	
        /// <unmanaged-short>D3D_SRV_DIMENSION ViewDimension</unmanaged-short>	
        [FieldOffset(4)]
        public SharpDX.Direct3D.ShaderResourceViewDimension Dimension;
        
        /// <summary>	
        /// <dd> <p>View the resource as a buffer using information from a shader-resource view (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription.BufferResource"/></strong>).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_RESOURCE_VIEW_DESC1::Buffer']/*"/>	
        /// <msdn-id>bb694534</msdn-id>	
        /// <unmanaged>D3D10_BUFFER_SRV Buffer</unmanaged>	
        /// <unmanaged-short>D3D10_BUFFER_SRV Buffer</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.ShaderResourceViewDescription.BufferResource Buffer;
        
        /// <summary>	
        /// <dd> <p>View the resource as a 1D texture using information from a shader-resource view (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription.Texture1DResource"/></strong>).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_RESOURCE_VIEW_DESC1::Texture1D']/*"/>	
        /// <msdn-id>bb694534</msdn-id>	
        /// <unmanaged>D3D10_TEX1D_SRV Texture1D</unmanaged>	
        /// <unmanaged-short>D3D10_TEX1D_SRV Texture1D</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.ShaderResourceViewDescription.Texture1DResource Texture1D;
        
        /// <summary>	
        /// <dd> <p>View the resource as a 1D-texture array using information from a shader-resource view (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription.Texture1DArrayResource"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_RESOURCE_VIEW_DESC1::Texture1DArray']/*"/>	
        /// <msdn-id>bb694534</msdn-id>	
        /// <unmanaged>D3D10_TEX1D_ARRAY_SRV Texture1DArray</unmanaged>	
        /// <unmanaged-short>D3D10_TEX1D_ARRAY_SRV Texture1DArray</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.ShaderResourceViewDescription.Texture1DArrayResource Texture1DArray;
        
        /// <summary>	
        /// <dd> <p>View the resource as a 2D-texture using information from a shader-resource view (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription.Texture2DResource"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_RESOURCE_VIEW_DESC1::Texture2D']/*"/>	
        /// <msdn-id>bb694534</msdn-id>	
        /// <unmanaged>D3D10_TEX2D_SRV Texture2D</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2D_SRV Texture2D</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.ShaderResourceViewDescription.Texture2DResource Texture2D;
        
        /// <summary>	
        /// <dd> <p>View the resource as a 2D-texture array using information from a shader-resource view (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription.Texture2DArrayResource"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_RESOURCE_VIEW_DESC1::Texture2DArray']/*"/>	
        /// <msdn-id>bb694534</msdn-id>	
        /// <unmanaged>D3D10_TEX2D_ARRAY_SRV Texture2DArray</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2D_ARRAY_SRV Texture2DArray</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.ShaderResourceViewDescription.Texture2DArrayResource Texture2DArray;
        
        /// <summary>	
        /// <dd> <p>View the resource as a 2D-multisampled texture using information from a shader-resource view (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription.Texture2DMultisampledResource"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_RESOURCE_VIEW_DESC1::Texture2DMS']/*"/>	
        /// <msdn-id>bb694534</msdn-id>	
        /// <unmanaged>D3D10_TEX2DMS_SRV Texture2DMS</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2DMS_SRV Texture2DMS</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.ShaderResourceViewDescription.Texture2DMultisampledResource Texture2DMS;
        
        /// <summary>	
        /// <dd> <p>View the resource as a 2D-multisampled-texture array using information from a shader-resource view (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription.Texture2DMultisampledArrayResource"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_RESOURCE_VIEW_DESC1::Texture2DMSArray']/*"/>	
        /// <msdn-id>bb694534</msdn-id>	
        /// <unmanaged>D3D10_TEX2DMS_ARRAY_SRV Texture2DMSArray</unmanaged>	
        /// <unmanaged-short>D3D10_TEX2DMS_ARRAY_SRV Texture2DMSArray</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.ShaderResourceViewDescription.Texture2DMultisampledArrayResource Texture2DMSArray;
        
        /// <summary>	
        /// <dd> <p>View the resource as a 3D texture using information from a shader-resource view (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription.Texture3DResource"/></strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_RESOURCE_VIEW_DESC1::Texture3D']/*"/>	
        /// <msdn-id>bb694534</msdn-id>	
        /// <unmanaged>D3D10_TEX3D_SRV Texture3D</unmanaged>	
        /// <unmanaged-short>D3D10_TEX3D_SRV Texture3D</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.ShaderResourceViewDescription.Texture3DResource Texture3D;
        
        /// <summary>	
        /// <dd> <p>View the resource as a 3D-cube texture using information from a shader-resource view (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription.TextureCubeResource"/></strong>).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_RESOURCE_VIEW_DESC1::TextureCube']/*"/>	
        /// <msdn-id>bb694534</msdn-id>	
        /// <unmanaged>D3D10_TEXCUBE_SRV TextureCube</unmanaged>	
        /// <unmanaged-short>D3D10_TEXCUBE_SRV TextureCube</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.ShaderResourceViewDescription.TextureCubeResource TextureCube;
        
        /// <summary>	
        /// <dd> <p>View the resource as an array of cube textures using information from a shader-resource view (see <strong><see cref="SharpDX.Direct3D10.ShaderResourceViewDescription1.TextureCubeArrayResource1"/></strong>).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SHADER_RESOURCE_VIEW_DESC1::TextureCubeArray']/*"/>	
        /// <msdn-id>bb694534</msdn-id>	
        /// <unmanaged>D3D10_TEXCUBE_ARRAY_SRV1 TextureCubeArray</unmanaged>	
        /// <unmanaged-short>D3D10_TEXCUBE_ARRAY_SRV1 TextureCubeArray</unmanaged-short>	
        [FieldOffset(8)]
        public SharpDX.Direct3D10.ShaderResourceViewDescription1.TextureCubeArrayResource1 TextureCubeArray;
    }
    
    /// <summary>	
    /// <p>The member of the vertex decl to do the software skinning on. This is used with the <strong><see cref="SharpDX.Direct3D10.SkinInfo.DoSoftwareSkinning"/></strong> API.</p>	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_SKINNING_CHANNEL']/*"/>	
    /// <msdn-id>bb172702</msdn-id>	
    /// <unmanaged>D3DX10_SKINNING_CHANNEL</unmanaged>	
    /// <unmanaged-short>D3DX10_SKINNING_CHANNEL</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct SkinningChannel {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_SKINNING_CHANNEL::SrcOffset']/*"/>	
        /// <msdn-id>bb172702</msdn-id>	
        /// <unmanaged>unsigned int SrcOffset</unmanaged>	
        /// <unmanaged-short>unsigned int SrcOffset</unmanaged-short>	
        public int SourceOffset;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_SKINNING_CHANNEL::DestOffset']/*"/>	
        /// <msdn-id>bb172702</msdn-id>	
        /// <unmanaged>unsigned int DestOffset</unmanaged>	
        /// <unmanaged-short>unsigned int DestOffset</unmanaged-short>	
        public int DestinationOffset;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_SKINNING_CHANNEL::IsNormal']/*"/>	
        /// <msdn-id>bb172702</msdn-id>	
        /// <unmanaged>BOOL IsNormal</unmanaged>	
        /// <unmanaged-short>BOOL IsNormal</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawBool IsNormal;
    }
    
    /// <summary>	
    /// <p>Defines position, texture, and color information about a sprite.</p>	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_SPRITE']/*"/>	
    /// <msdn-id>bb172703</msdn-id>	
    /// <unmanaged>D3DX10_SPRITE</unmanaged>	
    /// <unmanaged-short>D3DX10_SPRITE</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct SpriteInstance {	
        
        /// <summary>	
        /// <dd> <p>The sprite's model-world transformation. This defines the position and orientation of the sprite in world space.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_SPRITE::matWorld']/*"/>	
        /// <msdn-id>bb172703</msdn-id>	
        /// <unmanaged>D3DXMATRIX matWorld</unmanaged>	
        /// <unmanaged-short>D3DXMATRIX matWorld</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawMatrix Transform;
        
        /// <summary>	
        /// <dd> <p>Offset from the upper-left corner of the texture indicating where the sprite image should start in the texture.  <strong>TexCoord</strong> is in  texture coordinates.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_SPRITE::TexCoord']/*"/>	
        /// <msdn-id>bb172703</msdn-id>	
        /// <unmanaged>D3DXVECTOR2 TexCoord</unmanaged>	
        /// <unmanaged-short>D3DXVECTOR2 TexCoord</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawVector2 TextureCoordinates;
        
        /// <summary>	
        /// <dd> <p>A vector containing the width and height of the sprite in texture coordinates.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_SPRITE::TexSize']/*"/>	
        /// <msdn-id>bb172703</msdn-id>	
        /// <unmanaged>D3DXVECTOR2 TexSize</unmanaged>	
        /// <unmanaged-short>D3DXVECTOR2 TexSize</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawVector2 TextureDimensions;
        
        /// <summary>	
        /// <dd> <p>A color that will be multiplied with the pixel color before rendering.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_SPRITE::ColorModulate']/*"/>	
        /// <msdn-id>bb172703</msdn-id>	
        /// <unmanaged>D3DXCOLOR ColorModulate</unmanaged>	
        /// <unmanaged-short>D3DXCOLOR ColorModulate</unmanaged-short>	
        public SharpDX.Mathematics.Interop.RawColor4 Color;
        
        /// <summary>	
        /// <dd> <p>Pointer to a shader-resource view representing the sprite's texture. See <strong><see cref="SharpDX.Direct3D10.ShaderResourceView"/> Interface</strong>.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_SPRITE::pTexture']/*"/>	
        /// <msdn-id>bb172703</msdn-id>	
        /// <unmanaged>ID3D10ShaderResourceView* pTexture</unmanaged>	
        /// <unmanaged-short>ID3D10ShaderResourceView pTexture</unmanaged-short>	
        internal System.IntPtr ShaderResourceViewPointer;
        
        /// <summary>	
        /// <dd> <p>The index of the texture. If pTexture does not represent a texture array, then this should be 0.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_SPRITE::TextureIndex']/*"/>	
        /// <msdn-id>bb172703</msdn-id>	
        /// <unmanaged>unsigned int TextureIndex</unmanaged>	
        /// <unmanaged-short>unsigned int TextureIndex</unmanaged-short>	
        public int TextureIndex;
    }
    
    /// <summary>	
    /// <p>Indicates the device state.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>A state-block mask indicates the device states that a pass or a technique changes.  The <strong>D3D10StateBlockMaskEnableCapture</strong> function  provides a convenient way of setting a range of bitmasks for the array members of <strong><see cref="SharpDX.Direct3D10.StateBlockMask"/></strong>.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_STATE_BLOCK_MASK']/*"/>	
    /// <msdn-id>bb172453</msdn-id>	
    /// <unmanaged>D3D10_STATE_BLOCK_MASK</unmanaged>	
    /// <unmanaged-short>D3D10_STATE_BLOCK_MASK</unmanaged-short>	
    public  partial struct StateBlockMask {	
        
        /// <summary>	
        /// <dd> <p>Boolean value indicating whether to save the vertex shader state.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_STATE_BLOCK_MASK::VS']/*"/>	
        /// <msdn-id>bb172453</msdn-id>	
        /// <unmanaged>bool VS</unmanaged>	
        /// <unmanaged-short>bool VS</unmanaged-short>	
        public bool VertexShader;
        
        /// <summary>	
        /// <dd> <p>Array of vertex-shader samplers.  The array is a multi-byte bitmask where each bit represents one sampler slot.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_STATE_BLOCK_MASK::VSSamplers']/*"/>	
        /// <msdn-id>bb172453</msdn-id>	
        /// <unmanaged>bool VSSamplers[2]</unmanaged>	
        /// <unmanaged-short>bool VSSamplers</unmanaged-short>	
        public bool[] VSSamplers { 
            get { return _VSSamplers ?? (_VSSamplers = new bool[2]);}
        }
        internal bool[] _VSSamplers;
        
        /// <summary>	
        /// <dd> <p>Array of vertex-shader resources. The array is a multi-byte bitmask where each bit represents one resource slot.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_STATE_BLOCK_MASK::VSShaderResources']/*"/>	
        /// <msdn-id>bb172453</msdn-id>	
        /// <unmanaged>bool VSShaderResources[16]</unmanaged>	
        /// <unmanaged-short>bool VSShaderResources</unmanaged-short>	
        public bool[] VSShaderResources { 
            get { return _VSShaderResources ?? (_VSShaderResources = new bool[16]);}
        }
        internal bool[] _VSShaderResources;
        
        /// <summary>	
        /// <dd> <p>Array of vertex-shader constant buffers. The array is a multi-byte bitmask where each bit represents one constant buffer slot.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_STATE_BLOCK_MASK::VSConstantBuffers']/*"/>	
        /// <msdn-id>bb172453</msdn-id>	
        /// <unmanaged>bool VSConstantBuffers[2]</unmanaged>	
        /// <unmanaged-short>bool VSConstantBuffers</unmanaged-short>	
        public bool[] VSConstantBuffers { 
            get { return _VSConstantBuffers ?? (_VSConstantBuffers = new bool[2]);}
        }
        internal bool[] _VSConstantBuffers;
        
        /// <summary>	
        /// <dd> <p>Boolean value indicating whether to save the geometry shader state.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_STATE_BLOCK_MASK::GS']/*"/>	
        /// <msdn-id>bb172453</msdn-id>	
        /// <unmanaged>bool GS</unmanaged>	
        /// <unmanaged-short>bool GS</unmanaged-short>	
        public bool GeometryShader;
        
        /// <summary>	
        /// <dd> <p>Array of geometry-shader samplers. The array is a multi-byte bitmask where each bit represents one sampler slot.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_STATE_BLOCK_MASK::GSSamplers']/*"/>	
        /// <msdn-id>bb172453</msdn-id>	
        /// <unmanaged>bool GSSamplers[2]</unmanaged>	
        /// <unmanaged-short>bool GSSamplers</unmanaged-short>	
        public bool[] GSSamplers { 
            get { return _GSSamplers ?? (_GSSamplers = new bool[2]);}
        }
        internal bool[] _GSSamplers;
        
        /// <summary>	
        /// <dd> <p>Array of geometry-shader resources. The array is a multi-byte bitmask where each bit represents one resource slot.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_STATE_BLOCK_MASK::GSShaderResources']/*"/>	
        /// <msdn-id>bb172453</msdn-id>	
        /// <unmanaged>bool GSShaderResources[16]</unmanaged>	
        /// <unmanaged-short>bool GSShaderResources</unmanaged-short>	
        public bool[] GSShaderResources { 
            get { return _GSShaderResources ?? (_GSShaderResources = new bool[16]);}
        }
        internal bool[] _GSShaderResources;
        
        /// <summary>	
        /// <dd> <p>Array of geometry-shader constant buffers. The array is a multi-byte bitmask where each bit represents one buffer slot.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_STATE_BLOCK_MASK::GSConstantBuffers']/*"/>	
        /// <msdn-id>bb172453</msdn-id>	
        /// <unmanaged>bool GSConstantBuffers[2]</unmanaged>	
        /// <unmanaged-short>bool GSConstantBuffers</unmanaged-short>	
        public bool[] GSConstantBuffers { 
            get { return _GSConstantBuffers ?? (_GSConstantBuffers = new bool[2]);}
        }
        internal bool[] _GSConstantBuffers;
        
        /// <summary>	
        /// <dd> <p>Boolean value indicating whether to save the pixel shader state.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_STATE_BLOCK_MASK::PS']/*"/>	
        /// <msdn-id>bb172453</msdn-id>	
        /// <unmanaged>bool PS</unmanaged>	
        /// <unmanaged-short>bool PS</unmanaged-short>	
        public bool PixelShader;
        
        /// <summary>	
        /// <dd> <p>Array of pixel-shader samplers. The array is a multi-byte bitmask where each bit represents one sampler slot.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_STATE_BLOCK_MASK::PSSamplers']/*"/>	
        /// <msdn-id>bb172453</msdn-id>	
        /// <unmanaged>bool PSSamplers[2]</unmanaged>	
        /// <unmanaged-short>bool PSSamplers</unmanaged-short>	
        public bool[] PSSamplers { 
            get { return _PSSamplers ?? (_PSSamplers = new bool[2]);}
        }
        internal bool[] _PSSamplers;
        
        /// <summary>	
        /// <dd> <p>Array of pixel-shader resources. The array is a multi-byte bitmask where each bit represents one resource slot.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_STATE_BLOCK_MASK::PSShaderResources']/*"/>	
        /// <msdn-id>bb172453</msdn-id>	
        /// <unmanaged>bool PSShaderResources[16]</unmanaged>	
        /// <unmanaged-short>bool PSShaderResources</unmanaged-short>	
        public bool[] PSShaderResources { 
            get { return _PSShaderResources ?? (_PSShaderResources = new bool[16]);}
        }
        internal bool[] _PSShaderResources;
        
        /// <summary>	
        /// <dd> <p>Array of pixel-shader constant buffers. The array is a multi-byte bitmask where each bit represents one constant buffer slot.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_STATE_BLOCK_MASK::PSConstantBuffers']/*"/>	
        /// <msdn-id>bb172453</msdn-id>	
        /// <unmanaged>bool PSConstantBuffers[2]</unmanaged>	
        /// <unmanaged-short>bool PSConstantBuffers</unmanaged-short>	
        public bool[] PSConstantBuffers { 
            get { return _PSConstantBuffers ?? (_PSConstantBuffers = new bool[2]);}
        }
        internal bool[] _PSConstantBuffers;
        
        /// <summary>	
        /// <dd> <p>Array of vertex buffers. The array is a multi-byte bitmask where each bit represents one resource slot.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_STATE_BLOCK_MASK::IAVertexBuffers']/*"/>	
        /// <msdn-id>bb172453</msdn-id>	
        /// <unmanaged>bool IAVertexBuffers[2]</unmanaged>	
        /// <unmanaged-short>bool IAVertexBuffers</unmanaged-short>	
        public bool[] IAVertexBuffers { 
            get { return _IAVertexBuffers ?? (_IAVertexBuffers = new bool[2]);}
        }
        internal bool[] _IAVertexBuffers;
        
        /// <summary>	
        /// <dd> <p>Boolean value indicating whether to save the index buffer state.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_STATE_BLOCK_MASK::IAIndexBuffer']/*"/>	
        /// <msdn-id>bb172453</msdn-id>	
        /// <unmanaged>bool IAIndexBuffer</unmanaged>	
        /// <unmanaged-short>bool IAIndexBuffer</unmanaged-short>	
        public bool IAIndexBuffer;
        
        /// <summary>	
        /// <dd> <p>Boolean value indicating whether to save the input layout state.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_STATE_BLOCK_MASK::IAInputLayout']/*"/>	
        /// <msdn-id>bb172453</msdn-id>	
        /// <unmanaged>bool IAInputLayout</unmanaged>	
        /// <unmanaged-short>bool IAInputLayout</unmanaged-short>	
        public bool IAInputLayout;
        
        /// <summary>	
        /// <dd> <p>Boolean value indicating whether to save the primitive topology state.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_STATE_BLOCK_MASK::IAPrimitiveTopology']/*"/>	
        /// <msdn-id>bb172453</msdn-id>	
        /// <unmanaged>bool IAPrimitiveTopology</unmanaged>	
        /// <unmanaged-short>bool IAPrimitiveTopology</unmanaged-short>	
        public bool IAPrimitiveTopology;
        
        /// <summary>	
        /// <dd> <p>Boolean value indicating whether to save the render targets states.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_STATE_BLOCK_MASK::OMRenderTargets']/*"/>	
        /// <msdn-id>bb172453</msdn-id>	
        /// <unmanaged>bool OMRenderTargets</unmanaged>	
        /// <unmanaged-short>bool OMRenderTargets</unmanaged-short>	
        public bool OMRenderTargets;
        
        /// <summary>	
        /// <dd> <p>Boolean value indicating whether to save the depth-stencil state.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_STATE_BLOCK_MASK::OMDepthStencilState']/*"/>	
        /// <msdn-id>bb172453</msdn-id>	
        /// <unmanaged>bool OMDepthStencilState</unmanaged>	
        /// <unmanaged-short>bool OMDepthStencilState</unmanaged-short>	
        public bool OMDepthStencilState;
        
        /// <summary>	
        /// <dd> <p>Boolean value indicating whether to save the blend state.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_STATE_BLOCK_MASK::OMBlendState']/*"/>	
        /// <msdn-id>bb172453</msdn-id>	
        /// <unmanaged>bool OMBlendState</unmanaged>	
        /// <unmanaged-short>bool OMBlendState</unmanaged-short>	
        public bool OMBlendState;
        
        /// <summary>	
        /// <dd> <p>Boolean value indicating whether to save the viewports states.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_STATE_BLOCK_MASK::RSViewports']/*"/>	
        /// <msdn-id>bb172453</msdn-id>	
        /// <unmanaged>bool RSViewports</unmanaged>	
        /// <unmanaged-short>bool RSViewports</unmanaged-short>	
        public bool RSViewports;
        
        /// <summary>	
        /// <dd> <p>Boolean value indicating whether to save the scissor rectangles states.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_STATE_BLOCK_MASK::RSScissorRects']/*"/>	
        /// <msdn-id>bb172453</msdn-id>	
        /// <unmanaged>bool RSScissorRects</unmanaged>	
        /// <unmanaged-short>bool RSScissorRects</unmanaged-short>	
        public bool RSScissorRects;
        
        /// <summary>	
        /// <dd> <p>Boolean value indicating whether to save the rasterizer state.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_STATE_BLOCK_MASK::RSRasterizerState']/*"/>	
        /// <msdn-id>bb172453</msdn-id>	
        /// <unmanaged>bool RSRasterizerState</unmanaged>	
        /// <unmanaged-short>bool RSRasterizerState</unmanaged-short>	
        public bool RSRasterizerState;
        
        /// <summary>	
        /// <dd> <p>Boolean value indicating whether to save the stream-out buffers states.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_STATE_BLOCK_MASK::SOBuffers']/*"/>	
        /// <msdn-id>bb172453</msdn-id>	
        /// <unmanaged>bool SOBuffers</unmanaged>	
        /// <unmanaged-short>bool SOBuffers</unmanaged-short>	
        public bool SOBuffers;
        
        /// <summary>	
        /// <dd> <p>Boolean value indicating whether to save the predication state.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_STATE_BLOCK_MASK::Predication']/*"/>	
        /// <msdn-id>bb172453</msdn-id>	
        /// <unmanaged>bool Predication</unmanaged>	
        /// <unmanaged-short>bool Predication</unmanaged-short>	
        public bool Predication;

        // Internal native struct used for marshalling
        [StructLayout(LayoutKind.Sequential)]
        internal partial struct __Native {	
            public bool VertexShader;
            public bool VSSamplers;
            bool __VSSamplers1;
            public bool VSShaderResources;
            bool __VSShaderResources1;
            bool __VSShaderResources2;
            bool __VSShaderResources3;
            bool __VSShaderResources4;
            bool __VSShaderResources5;
            bool __VSShaderResources6;
            bool __VSShaderResources7;
            bool __VSShaderResources8;
            bool __VSShaderResources9;
            bool __VSShaderResources10;
            bool __VSShaderResources11;
            bool __VSShaderResources12;
            bool __VSShaderResources13;
            bool __VSShaderResources14;
            bool __VSShaderResources15;
            public bool VSConstantBuffers;
            bool __VSConstantBuffers1;
            public bool GeometryShader;
            public bool GSSamplers;
            bool __GSSamplers1;
            public bool GSShaderResources;
            bool __GSShaderResources1;
            bool __GSShaderResources2;
            bool __GSShaderResources3;
            bool __GSShaderResources4;
            bool __GSShaderResources5;
            bool __GSShaderResources6;
            bool __GSShaderResources7;
            bool __GSShaderResources8;
            bool __GSShaderResources9;
            bool __GSShaderResources10;
            bool __GSShaderResources11;
            bool __GSShaderResources12;
            bool __GSShaderResources13;
            bool __GSShaderResources14;
            bool __GSShaderResources15;
            public bool GSConstantBuffers;
            bool __GSConstantBuffers1;
            public bool PixelShader;
            public bool PSSamplers;
            bool __PSSamplers1;
            public bool PSShaderResources;
            bool __PSShaderResources1;
            bool __PSShaderResources2;
            bool __PSShaderResources3;
            bool __PSShaderResources4;
            bool __PSShaderResources5;
            bool __PSShaderResources6;
            bool __PSShaderResources7;
            bool __PSShaderResources8;
            bool __PSShaderResources9;
            bool __PSShaderResources10;
            bool __PSShaderResources11;
            bool __PSShaderResources12;
            bool __PSShaderResources13;
            bool __PSShaderResources14;
            bool __PSShaderResources15;
            public bool PSConstantBuffers;
            bool __PSConstantBuffers1;
            public bool IAVertexBuffers;
            bool __IAVertexBuffers1;
            public bool IAIndexBuffer;
            public bool IAInputLayout;
            public bool IAPrimitiveTopology;
            public bool OMRenderTargets;
            public bool OMDepthStencilState;
            public bool OMBlendState;
            public bool RSViewports;
            public bool RSScissorRects;
            public bool RSRasterizerState;
            public bool SOBuffers;
            public bool Predication;
		    // Method to free unmanaged allocation
            internal unsafe void __MarshalFree()
            {   
            }
        }
		
		// Method to free unmanaged allocation
        internal unsafe void __MarshalFree(ref __Native @ref)
        {   
            @ref.__MarshalFree();
        }
		
		// Method to marshal from native to managed struct
        internal unsafe void __MarshalFrom(ref __Native @ref)
        {            
            this.VertexShader = @ref.VertexShader;
            fixed (void* __to = &this.VSSamplers[0]) fixed (void* __from = &@ref.VSSamplers) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 2*sizeof ( bool));
            fixed (void* __to = &this.VSShaderResources[0]) fixed (void* __from = &@ref.VSShaderResources) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 16*sizeof ( bool));
            fixed (void* __to = &this.VSConstantBuffers[0]) fixed (void* __from = &@ref.VSConstantBuffers) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 2*sizeof ( bool));
            this.GeometryShader = @ref.GeometryShader;
            fixed (void* __to = &this.GSSamplers[0]) fixed (void* __from = &@ref.GSSamplers) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 2*sizeof ( bool));
            fixed (void* __to = &this.GSShaderResources[0]) fixed (void* __from = &@ref.GSShaderResources) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 16*sizeof ( bool));
            fixed (void* __to = &this.GSConstantBuffers[0]) fixed (void* __from = &@ref.GSConstantBuffers) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 2*sizeof ( bool));
            this.PixelShader = @ref.PixelShader;
            fixed (void* __to = &this.PSSamplers[0]) fixed (void* __from = &@ref.PSSamplers) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 2*sizeof ( bool));
            fixed (void* __to = &this.PSShaderResources[0]) fixed (void* __from = &@ref.PSShaderResources) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 16*sizeof ( bool));
            fixed (void* __to = &this.PSConstantBuffers[0]) fixed (void* __from = &@ref.PSConstantBuffers) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 2*sizeof ( bool));
            fixed (void* __to = &this.IAVertexBuffers[0]) fixed (void* __from = &@ref.IAVertexBuffers) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 2*sizeof ( bool));
            this.IAIndexBuffer = @ref.IAIndexBuffer;
            this.IAInputLayout = @ref.IAInputLayout;
            this.IAPrimitiveTopology = @ref.IAPrimitiveTopology;
            this.OMRenderTargets = @ref.OMRenderTargets;
            this.OMDepthStencilState = @ref.OMDepthStencilState;
            this.OMBlendState = @ref.OMBlendState;
            this.RSViewports = @ref.RSViewports;
            this.RSScissorRects = @ref.RSScissorRects;
            this.RSRasterizerState = @ref.RSRasterizerState;
            this.SOBuffers = @ref.SOBuffers;
            this.Predication = @ref.Predication;
        }
        // Method to marshal from managed struct tot native
        internal unsafe void __MarshalTo(ref __Native @ref)
        {
            @ref.VertexShader = this.VertexShader;
            fixed (void* __to = &@ref.VSSamplers) fixed (void* __from = &this.VSSamplers[0]) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 2*sizeof ( bool));
            fixed (void* __to = &@ref.VSShaderResources) fixed (void* __from = &this.VSShaderResources[0]) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 16*sizeof ( bool));
            fixed (void* __to = &@ref.VSConstantBuffers) fixed (void* __from = &this.VSConstantBuffers[0]) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 2*sizeof ( bool));
            @ref.GeometryShader = this.GeometryShader;
            fixed (void* __to = &@ref.GSSamplers) fixed (void* __from = &this.GSSamplers[0]) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 2*sizeof ( bool));
            fixed (void* __to = &@ref.GSShaderResources) fixed (void* __from = &this.GSShaderResources[0]) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 16*sizeof ( bool));
            fixed (void* __to = &@ref.GSConstantBuffers) fixed (void* __from = &this.GSConstantBuffers[0]) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 2*sizeof ( bool));
            @ref.PixelShader = this.PixelShader;
            fixed (void* __to = &@ref.PSSamplers) fixed (void* __from = &this.PSSamplers[0]) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 2*sizeof ( bool));
            fixed (void* __to = &@ref.PSShaderResources) fixed (void* __from = &this.PSShaderResources[0]) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 16*sizeof ( bool));
            fixed (void* __to = &@ref.PSConstantBuffers) fixed (void* __from = &this.PSConstantBuffers[0]) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 2*sizeof ( bool));
            fixed (void* __to = &@ref.IAVertexBuffers) fixed (void* __from = &this.IAVertexBuffers[0]) SharpDX.Utilities.CopyMemory((IntPtr) __to, (IntPtr) __from, 2*sizeof ( bool));
            @ref.IAIndexBuffer = this.IAIndexBuffer;
            @ref.IAInputLayout = this.IAInputLayout;
            @ref.IAPrimitiveTopology = this.IAPrimitiveTopology;
            @ref.OMRenderTargets = this.OMRenderTargets;
            @ref.OMDepthStencilState = this.OMDepthStencilState;
            @ref.OMBlendState = this.OMBlendState;
            @ref.RSViewports = this.RSViewports;
            @ref.RSScissorRects = this.RSScissorRects;
            @ref.RSRasterizerState = this.RSRasterizerState;
            @ref.SOBuffers = this.SOBuffers;
            @ref.Predication = this.Predication;
		
		}
    }
    
    /// <summary>	
    /// <p>Description of a vertex element in a vertex buffer in an output slot.</p>	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SO_DECLARATION_ENTRY']/*"/>	
    /// <msdn-id>bb172450</msdn-id>	
    /// <unmanaged>D3D10_SO_DECLARATION_ENTRY</unmanaged>	
    /// <unmanaged-short>D3D10_SO_DECLARATION_ENTRY</unmanaged-short>	
    public  partial struct StreamOutputElement {	
        
        /// <summary>	
        /// <dd> <p>Type of output element.  Possible values: "POSITION", "NORMAL", or "TEXCOORD0".</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SO_DECLARATION_ENTRY::SemanticName']/*"/>	
        /// <msdn-id>bb172450</msdn-id>	
        /// <unmanaged>const char* SemanticName</unmanaged>	
        /// <unmanaged-short>char SemanticName</unmanaged-short>	
        public string SemanticName;
        
        /// <summary>	
        /// <dd> <p>Output element's zero-based index. Should be used if, for example, you have more than one texture coordinate stored in each vertex.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SO_DECLARATION_ENTRY::SemanticIndex']/*"/>	
        /// <msdn-id>bb172450</msdn-id>	
        /// <unmanaged>unsigned int SemanticIndex</unmanaged>	
        /// <unmanaged-short>unsigned int SemanticIndex</unmanaged-short>	
        public int SemanticIndex;
        
        /// <summary>	
        /// <dd> <p>Which component of the entry to begin writing out to. Valid values are 0 ~ 3. For example, if you only wish to output to the y and z components of a position, then StartComponent should be 1 and ComponentCount should be 2.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SO_DECLARATION_ENTRY::StartComponent']/*"/>	
        /// <msdn-id>bb172450</msdn-id>	
        /// <unmanaged>unsigned char StartComponent</unmanaged>	
        /// <unmanaged-short>unsigned char StartComponent</unmanaged-short>	
        public byte StartComponent;
        
        /// <summary>	
        /// <dd> <p>The number of components of the entry to write out to. Valid values are 1 ~ 4. For example, if you only wish to output to the y and z components of a position, then StartComponent should be 1 and ComponentCount should be 2.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SO_DECLARATION_ENTRY::ComponentCount']/*"/>	
        /// <msdn-id>bb172450</msdn-id>	
        /// <unmanaged>unsigned char ComponentCount</unmanaged>	
        /// <unmanaged-short>unsigned char ComponentCount</unmanaged-short>	
        public byte ComponentCount;
        
        /// <summary>	
        /// <dd> <p>The output slot that contains the vertex buffer that contains this output entry.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_SO_DECLARATION_ENTRY::OutputSlot']/*"/>	
        /// <msdn-id>bb172450</msdn-id>	
        /// <unmanaged>unsigned char OutputSlot</unmanaged>	
        /// <unmanaged-short>unsigned char OutputSlot</unmanaged-short>	
        public byte OutputSlot;

        // Internal native struct used for marshalling
        [StructLayout(LayoutKind.Sequential)]
        internal partial struct __Native {	
            public System.IntPtr SemanticName;
            public int SemanticIndex;
            public byte StartComponent;
            public byte ComponentCount;
            public byte OutputSlot;
		    // Method to free unmanaged allocation
            internal unsafe void __MarshalFree()
            {   
                if (this.SemanticName != IntPtr.Zero)
                    Marshal.FreeHGlobal(this.SemanticName);		
            }
        }
		
		// Method to free unmanaged allocation
        internal unsafe void __MarshalFree(ref __Native @ref)
        {   
            @ref.__MarshalFree();
        }
		
		// Method to marshal from native to managed struct
        internal unsafe void __MarshalFrom(ref __Native @ref)
        {            
            this.SemanticName = ( @ref.SemanticName == IntPtr.Zero )?null:Marshal.PtrToStringAnsi(@ref.SemanticName);
            this.SemanticIndex = @ref.SemanticIndex;
            this.StartComponent = @ref.StartComponent;
            this.ComponentCount = @ref.ComponentCount;
            this.OutputSlot = @ref.OutputSlot;
        }
        // Method to marshal from managed struct tot native
        internal unsafe void __MarshalTo(ref __Native @ref)
        {
            @ref.SemanticName = ( this.SemanticName == null )?IntPtr.Zero : Utilities.StringToHGlobalAnsi(this.SemanticName);
            @ref.SemanticIndex = this.SemanticIndex;
            @ref.StartComponent = this.StartComponent;
            @ref.ComponentCount = this.ComponentCount;
            @ref.OutputSlot = this.OutputSlot;
		
		}
    }
    
    /// <summary>	
    /// <p>Query information about the amount of data streamed out to the stream-output buffers in between <strong><see cref="SharpDX.Direct3D10.Asynchronous.Begin"/></strong> and <strong><see cref="SharpDX.Direct3D10.Asynchronous.End"/></strong>.</p>	
    /// </summary>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_QUERY_DATA_SO_STATISTICS']/*"/>	
    /// <msdn-id>bb172403</msdn-id>	
    /// <unmanaged>D3D10_QUERY_DATA_SO_STATISTICS</unmanaged>	
    /// <unmanaged-short>D3D10_QUERY_DATA_SO_STATISTICS</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct StreamOutputStatistics {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_QUERY_DATA_SO_STATISTICS::NumPrimitivesWritten']/*"/>	
        /// <msdn-id>bb172403</msdn-id>	
        /// <unmanaged>unsigned longlong NumPrimitivesWritten</unmanaged>	
        /// <unmanaged-short>unsigned longlong NumPrimitivesWritten</unmanaged-short>	
        public long NumPrimitivesWritten;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_QUERY_DATA_SO_STATISTICS::PrimitivesStorageNeeded']/*"/>	
        /// <msdn-id>bb172403</msdn-id>	
        /// <unmanaged>unsigned longlong PrimitivesStorageNeeded</unmanaged>	
        /// <unmanaged-short>unsigned longlong PrimitivesStorageNeeded</unmanaged-short>	
        public long PrimitivesStorageNeeded;
    }
    
    /// <summary>	
    /// <p>Describes a 1D texture.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>This structure is used in a call to <strong><see cref="SharpDX.Direct3D10.Device.CreateTexture1D"/></strong>. A helpful derived structure CD3D10_TEXTURE1D_DESC is declared in D3D10.h, to help create a texture description.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE1D_DESC']/*"/>	
    /// <msdn-id>bb172479</msdn-id>	
    /// <unmanaged>D3D10_TEXTURE1D_DESC</unmanaged>	
    /// <unmanaged-short>D3D10_TEXTURE1D_DESC</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct Texture1DDescription {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE1D_DESC::Width']/*"/>	
        /// <msdn-id>bb172479</msdn-id>	
        /// <unmanaged>unsigned int Width</unmanaged>	
        /// <unmanaged-short>unsigned int Width</unmanaged-short>	
        public int Width;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE1D_DESC::MipLevels']/*"/>	
        /// <msdn-id>bb172479</msdn-id>	
        /// <unmanaged>unsigned int MipLevels</unmanaged>	
        /// <unmanaged-short>unsigned int MipLevels</unmanaged-short>	
        public int MipLevels;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE1D_DESC::ArraySize']/*"/>	
        /// <msdn-id>bb172479</msdn-id>	
        /// <unmanaged>unsigned int ArraySize</unmanaged>	
        /// <unmanaged-short>unsigned int ArraySize</unmanaged-short>	
        public int ArraySize;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE1D_DESC::Format']/*"/>	
        /// <msdn-id>bb172479</msdn-id>	
        /// <unmanaged>DXGI_FORMAT Format</unmanaged>	
        /// <unmanaged-short>DXGI_FORMAT Format</unmanaged-short>	
        public SharpDX.DXGI.Format Format;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE1D_DESC::Usage']/*"/>	
        /// <msdn-id>bb172479</msdn-id>	
        /// <unmanaged>D3D10_USAGE Usage</unmanaged>	
        /// <unmanaged-short>D3D10_USAGE Usage</unmanaged-short>	
        public SharpDX.Direct3D10.ResourceUsage Usage;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE1D_DESC::BindFlags']/*"/>	
        /// <msdn-id>bb172479</msdn-id>	
        /// <unmanaged>D3D10_BIND_FLAG BindFlags</unmanaged>	
        /// <unmanaged-short>D3D10_BIND_FLAG BindFlags</unmanaged-short>	
        public SharpDX.Direct3D10.BindFlags BindFlags;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE1D_DESC::CPUAccessFlags']/*"/>	
        /// <msdn-id>bb172479</msdn-id>	
        /// <unmanaged>D3D10_CPU_ACCESS_FLAG CPUAccessFlags</unmanaged>	
        /// <unmanaged-short>D3D10_CPU_ACCESS_FLAG CPUAccessFlags</unmanaged-short>	
        public SharpDX.Direct3D10.CpuAccessFlags CpuAccessFlags;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE1D_DESC::MiscFlags']/*"/>	
        /// <msdn-id>bb172479</msdn-id>	
        /// <unmanaged>D3D10_RESOURCE_MISC_FLAG MiscFlags</unmanaged>	
        /// <unmanaged-short>D3D10_RESOURCE_MISC_FLAG MiscFlags</unmanaged-short>	
        public SharpDX.Direct3D10.ResourceOptionFlags OptionFlags;
    }
    
    /// <summary>	
    /// <p>Describes a 2D texture.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>This structure is used in a call to <strong><see cref="SharpDX.Direct3D10.Device.CreateTexture2D"/></strong>. A helpful derived structure CD3D10_TEXTURE2D_DESC is declared in D3D10.h, to help create a texture description.</p><p>The device places some size restrictions (must be multiples of a minimum size) for a subsampled, block compressed, or bit-format resource.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE2D_DESC']/*"/>	
    /// <msdn-id>bb172480</msdn-id>	
    /// <unmanaged>D3D10_TEXTURE2D_DESC</unmanaged>	
    /// <unmanaged-short>D3D10_TEXTURE2D_DESC</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct Texture2DDescription {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE2D_DESC::Width']/*"/>	
        /// <msdn-id>bb172480</msdn-id>	
        /// <unmanaged>unsigned int Width</unmanaged>	
        /// <unmanaged-short>unsigned int Width</unmanaged-short>	
        public int Width;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE2D_DESC::Height']/*"/>	
        /// <msdn-id>bb172480</msdn-id>	
        /// <unmanaged>unsigned int Height</unmanaged>	
        /// <unmanaged-short>unsigned int Height</unmanaged-short>	
        public int Height;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE2D_DESC::MipLevels']/*"/>	
        /// <msdn-id>bb172480</msdn-id>	
        /// <unmanaged>unsigned int MipLevels</unmanaged>	
        /// <unmanaged-short>unsigned int MipLevels</unmanaged-short>	
        public int MipLevels;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE2D_DESC::ArraySize']/*"/>	
        /// <msdn-id>bb172480</msdn-id>	
        /// <unmanaged>unsigned int ArraySize</unmanaged>	
        /// <unmanaged-short>unsigned int ArraySize</unmanaged-short>	
        public int ArraySize;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE2D_DESC::Format']/*"/>	
        /// <msdn-id>bb172480</msdn-id>	
        /// <unmanaged>DXGI_FORMAT Format</unmanaged>	
        /// <unmanaged-short>DXGI_FORMAT Format</unmanaged-short>	
        public SharpDX.DXGI.Format Format;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE2D_DESC::SampleDesc']/*"/>	
        /// <msdn-id>bb172480</msdn-id>	
        /// <unmanaged>DXGI_SAMPLE_DESC SampleDesc</unmanaged>	
        /// <unmanaged-short>DXGI_SAMPLE_DESC SampleDesc</unmanaged-short>	
        public SharpDX.DXGI.SampleDescription SampleDescription;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE2D_DESC::Usage']/*"/>	
        /// <msdn-id>bb172480</msdn-id>	
        /// <unmanaged>D3D10_USAGE Usage</unmanaged>	
        /// <unmanaged-short>D3D10_USAGE Usage</unmanaged-short>	
        public SharpDX.Direct3D10.ResourceUsage Usage;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE2D_DESC::BindFlags']/*"/>	
        /// <msdn-id>bb172480</msdn-id>	
        /// <unmanaged>D3D10_BIND_FLAG BindFlags</unmanaged>	
        /// <unmanaged-short>D3D10_BIND_FLAG BindFlags</unmanaged-short>	
        public SharpDX.Direct3D10.BindFlags BindFlags;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE2D_DESC::CPUAccessFlags']/*"/>	
        /// <msdn-id>bb172480</msdn-id>	
        /// <unmanaged>D3D10_CPU_ACCESS_FLAG CPUAccessFlags</unmanaged>	
        /// <unmanaged-short>D3D10_CPU_ACCESS_FLAG CPUAccessFlags</unmanaged-short>	
        public SharpDX.Direct3D10.CpuAccessFlags CpuAccessFlags;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE2D_DESC::MiscFlags']/*"/>	
        /// <msdn-id>bb172480</msdn-id>	
        /// <unmanaged>D3D10_RESOURCE_MISC_FLAG MiscFlags</unmanaged>	
        /// <unmanaged-short>D3D10_RESOURCE_MISC_FLAG MiscFlags</unmanaged-short>	
        public SharpDX.Direct3D10.ResourceOptionFlags OptionFlags;
    }
    
    /// <summary>	
    /// <p>Describes a 3D texture.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>This structure is used in a call to <strong><see cref="SharpDX.Direct3D10.Device.CreateTexture3D"/></strong>. A helpful derived structure CD3D10_TEXTURE3D_DESC is declared in D3D10.h, to help create a texture description.</p><p>The device restricts the size of subsampled, block compressed (see Block Compression (Direct3D 10)), and bit format resources to be multiples of sizes specific to each format.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE3D_DESC']/*"/>	
    /// <msdn-id>bb172481</msdn-id>	
    /// <unmanaged>D3D10_TEXTURE3D_DESC</unmanaged>	
    /// <unmanaged-short>D3D10_TEXTURE3D_DESC</unmanaged-short>	
    [StructLayout(LayoutKind.Sequential)]
    public  partial struct Texture3DDescription {	
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE3D_DESC::Width']/*"/>	
        /// <msdn-id>bb172481</msdn-id>	
        /// <unmanaged>unsigned int Width</unmanaged>	
        /// <unmanaged-short>unsigned int Width</unmanaged-short>	
        public int Width;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE3D_DESC::Height']/*"/>	
        /// <msdn-id>bb172481</msdn-id>	
        /// <unmanaged>unsigned int Height</unmanaged>	
        /// <unmanaged-short>unsigned int Height</unmanaged-short>	
        public int Height;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE3D_DESC::Depth']/*"/>	
        /// <msdn-id>bb172481</msdn-id>	
        /// <unmanaged>unsigned int Depth</unmanaged>	
        /// <unmanaged-short>unsigned int Depth</unmanaged-short>	
        public int Depth;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE3D_DESC::MipLevels']/*"/>	
        /// <msdn-id>bb172481</msdn-id>	
        /// <unmanaged>unsigned int MipLevels</unmanaged>	
        /// <unmanaged-short>unsigned int MipLevels</unmanaged-short>	
        public int MipLevels;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE3D_DESC::Format']/*"/>	
        /// <msdn-id>bb172481</msdn-id>	
        /// <unmanaged>DXGI_FORMAT Format</unmanaged>	
        /// <unmanaged-short>DXGI_FORMAT Format</unmanaged-short>	
        public SharpDX.DXGI.Format Format;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE3D_DESC::Usage']/*"/>	
        /// <msdn-id>bb172481</msdn-id>	
        /// <unmanaged>D3D10_USAGE Usage</unmanaged>	
        /// <unmanaged-short>D3D10_USAGE Usage</unmanaged-short>	
        public SharpDX.Direct3D10.ResourceUsage Usage;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE3D_DESC::BindFlags']/*"/>	
        /// <msdn-id>bb172481</msdn-id>	
        /// <unmanaged>D3D10_BIND_FLAG BindFlags</unmanaged>	
        /// <unmanaged-short>D3D10_BIND_FLAG BindFlags</unmanaged-short>	
        public SharpDX.Direct3D10.BindFlags BindFlags;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE3D_DESC::CPUAccessFlags']/*"/>	
        /// <msdn-id>bb172481</msdn-id>	
        /// <unmanaged>D3D10_CPU_ACCESS_FLAG CPUAccessFlags</unmanaged>	
        /// <unmanaged-short>D3D10_CPU_ACCESS_FLAG CPUAccessFlags</unmanaged-short>	
        public SharpDX.Direct3D10.CpuAccessFlags CpuAccessFlags;
        
        /// <summary>	
        /// No documentation.	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3D10_TEXTURE3D_DESC::MiscFlags']/*"/>	
        /// <msdn-id>bb172481</msdn-id>	
        /// <unmanaged>D3D10_RESOURCE_MISC_FLAG MiscFlags</unmanaged>	
        /// <unmanaged-short>D3D10_RESOURCE_MISC_FLAG MiscFlags</unmanaged-short>	
        public SharpDX.Direct3D10.ResourceOptionFlags OptionFlags;
    }
    
    /// <summary>	
    /// <p>Describes parameters used to load a texture from another texture.</p>	
    /// </summary>	
    /// <remarks>	
    /// <p>This structure is used in a call to <strong><see cref="SharpDX.Direct3D10.D3DX10.LoadTextureFromTexture"/></strong>.</p>	
    /// </remarks>	
    /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_TEXTURE_LOAD_INFO']/*"/>	
    /// <msdn-id>bb172705</msdn-id>	
    /// <unmanaged>D3DX10_TEXTURE_LOAD_INFO</unmanaged>	
    /// <unmanaged-short>D3DX10_TEXTURE_LOAD_INFO</unmanaged-short>	
    public  partial class TextureLoadInformation {	
        
        /// <summary>	
        /// <dd> <p>Source texture box (see <strong><see cref="SharpDX.Direct3D10.ResourceRegion"/></strong>).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_TEXTURE_LOAD_INFO::pSrcBox']/*"/>	
        /// <msdn-id>bb172705</msdn-id>	
        /// <unmanaged>D3D10_BOX* pSrcBox</unmanaged>	
        /// <unmanaged-short>D3D10_BOX pSrcBox</unmanaged-short>	
        internal System.IntPtr SourceRegionPointer;
        
        /// <summary>	
        /// <dd> <p>Destination texture box (see <strong><see cref="SharpDX.Direct3D10.ResourceRegion"/></strong>).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_TEXTURE_LOAD_INFO::pDstBox']/*"/>	
        /// <msdn-id>bb172705</msdn-id>	
        /// <unmanaged>D3D10_BOX* pDstBox</unmanaged>	
        /// <unmanaged-short>D3D10_BOX pDstBox</unmanaged-short>	
        internal System.IntPtr DestinationRegionPointer;
        
        /// <summary>	
        /// <dd> <p>Source texture mipmap level, see <strong>D3D10CalcSubresource</strong> for more detail.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_TEXTURE_LOAD_INFO::SrcFirstMip']/*"/>	
        /// <msdn-id>bb172705</msdn-id>	
        /// <unmanaged>unsigned int SrcFirstMip</unmanaged>	
        /// <unmanaged-short>unsigned int SrcFirstMip</unmanaged-short>	
        public int FirstSourceMip;
        
        /// <summary>	
        /// <dd> <p>Destination texture mipmap level, see <strong>D3D10CalcSubresource</strong> for more detail.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_TEXTURE_LOAD_INFO::DstFirstMip']/*"/>	
        /// <msdn-id>bb172705</msdn-id>	
        /// <unmanaged>unsigned int DstFirstMip</unmanaged>	
        /// <unmanaged-short>unsigned int DstFirstMip</unmanaged-short>	
        public int FirstDestinationMip;
        
        /// <summary>	
        /// <dd> <p>Number of mipmap levels in the source texture.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_TEXTURE_LOAD_INFO::NumMips']/*"/>	
        /// <msdn-id>bb172705</msdn-id>	
        /// <unmanaged>unsigned int NumMips</unmanaged>	
        /// <unmanaged-short>unsigned int NumMips</unmanaged-short>	
        public int MipCount;
        
        /// <summary>	
        /// <dd> <p>First element of the source texture.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_TEXTURE_LOAD_INFO::SrcFirstElement']/*"/>	
        /// <msdn-id>bb172705</msdn-id>	
        /// <unmanaged>unsigned int SrcFirstElement</unmanaged>	
        /// <unmanaged-short>unsigned int SrcFirstElement</unmanaged-short>	
        public int FirstSourceElement;
        
        /// <summary>	
        /// <dd> <p>First element of the destination texture.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_TEXTURE_LOAD_INFO::DstFirstElement']/*"/>	
        /// <msdn-id>bb172705</msdn-id>	
        /// <unmanaged>unsigned int DstFirstElement</unmanaged>	
        /// <unmanaged-short>unsigned int DstFirstElement</unmanaged-short>	
        public int FirstDestinationElement;
        
        /// <summary>	
        /// <dd> <p>Number of elements to load.</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_TEXTURE_LOAD_INFO::NumElements']/*"/>	
        /// <msdn-id>bb172705</msdn-id>	
        /// <unmanaged>unsigned int NumElements</unmanaged>	
        /// <unmanaged-short>unsigned int NumElements</unmanaged-short>	
        public int ElementCount;
        
        /// <summary>	
        /// <dd> <p>Filtering options during resampling (see <strong><see cref="SharpDX.Direct3D10.FilterFlags"/></strong>).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_TEXTURE_LOAD_INFO::Filter']/*"/>	
        /// <msdn-id>bb172705</msdn-id>	
        /// <unmanaged>D3DX10_FILTER_FLAG Filter</unmanaged>	
        /// <unmanaged-short>D3DX10_FILTER_FLAG Filter</unmanaged-short>	
        public SharpDX.Direct3D10.FilterFlags Filter;
        
        /// <summary>	
        /// <dd> <p>Filtering options when generating mip levels (see <strong><see cref="SharpDX.Direct3D10.FilterFlags"/></strong>).</p> </dd>	
        /// </summary>	
        /// <include file='.\..\Documentation\CodeComments.xml' path="/comments/comment[@id='D3DX10_TEXTURE_LOAD_INFO::MipFilter']/*"/>	
        /// <msdn-id>bb172705</msdn-id>	
        /// <unmanaged>D3DX10_FILTER_FLAG MipFilter</unmanaged>	
        /// <unmanaged-short>D3DX10_FILTER_FLAG MipFilter</unmanaged-short>	
        public SharpDX.Direct3D10.FilterFlags MipFilter;
    }
}
